19

PHP アプリケーションを Heroku にデプロイしましたが、Apache エラー ログが見つからないようです。コマンド$heroku logsを使用すると、Apache のアクセス ログしか取得できないようです。GET 200 OK などはたくさんありますが、「PHP Fatal error: blah blah」など、ローカルのエラー ログに記録されるエラー情報はありません。

Heroku のこれらのエラー ログにはどこからアクセスできますか、またはローカル エラー ログと同様に Heroku のログに書き込むようにアプリに指示するにはどうすればよいですか?

明らかな何かを見落としているように感じますが、解決策が見つからないようです。

4

5 に答える 5

6

error_log多くの実験の後、 php.ini でコメントアウトする必要があるようlog_errors = onです..これにより、heroku ログプレックスがストリームを取得できる stderr にエラーが出力され、heroku logs --tail..heroku facebook を起動する必要があります。アプリを開き、phpinfo() を見て、セットアップをコピーしました。

于 2012-12-13T18:48:16.640 に答える
2

追加してみてください:

error_reporting(E_ALL);
ini_set("display_errors", 1);

PHP ページ/アプリの一番上へ

于 2013-01-26T23:28:08.633 に答える
1

これをビルドパックの bin/compile ファイルに追加する必要がありました。

cat >>boot.sh <<EOF
for var in \`env|cut -f1 -d=\`; do
  echo "PassEnv \$var" >> /app/apache/conf/httpd.conf;
done
touch /app/apache/logs/error_log
touch /app/apache/logs/access_log
touch /app/apache/logs/php_error.log
tail -F /app/apache/logs/error_log &
tail -F /app/apache/logs/access_log &
tail -F /app/apache/logs/php_error.log &
echo "Launching apache"
exec /app/apache/bin/httpd -DNO_DETACH
EOF

php.ini と https.conf の設定はほとんどそのまま残しました。

于 2013-02-06T19:25:34.563 に答える
0

これは、Heroku のデプロイ方法とは関係ありませんが、PHP 構成とは関係ありません。error_logディレクティブはそれを管理します。

error_logディレクティブは、スクリプト エラーが記録されるファイルの名前を定義します。このファイルは、Web サーバーのユーザーが書き込み可能である必要があります。

于 2012-12-19T08:45:49.813 に答える