ホームページ > バックエンド開発 > PHPチュートリアル > phpエラーログを出力するnginx php-fpm設定方法

phpエラーログを出力するnginx php-fpm設定方法

WBOY
リリース: 2016-07-29 09:15:52
オリジナル
1465 人が閲覧しました

この記事では、nginx サーバーに PHP エラー ログを出力するための php-fpm の設定方法を紹介します。興味のある方はぜひ参考にしてください。

nginxは単なるWebサーバーであるため、nginxのアクセスログはアクセスされたページのみを記録し、phpは存在しません エラーログ情報。

nginx は php のリクエストを php-fpm fastcgi プロセスに送信して処理します。デフォルトの php-fpm は php-fpm のエラー メッセージのみを出力します。 ログに php のエラーログが表示されません

理由:
php-fpm の設定ファイル php-fpm.conf は、デフォルトでワーカー プロセスのエラー出力をオフにし、/dev/null に直接リダイレクトするように設定されているため、 nginxエラー php-fpmのログもエラーログもphpのエラーログは見れません。

nginx で php-fpm が php エラー ログを記録しない問題を解決する方法:

1. php-fpm.conf の設定を変更し、存在しない場合は追加します

コードをコピー コード例:

catch_workers_output = yes
error_log = log/error_log

2. php.ini の設定を変更します。そうでない場合は、

コードをコピー コード例:

log_errors = On
error_log = "/usr/local/lnmp/php/var/ log/error_log"
error_reporting=E_ALL&~E_NOTICE

3. php-fpm を再起動します。
PHP がエラーを実行すると、"/usr/local" にエラー ログが表示されます。 /lnmp/php/var/log/error_log"

注意してください:
1. php-fpm.conf の php_admin_value[error_log] パラメータは、php.ini の error_log パラメータをオーバーライドします
したがって、最後に表示される error_log ファイルを確認してください。 phpinfo() には書き込み可能な権限があり、php_admin_value[error_log] パラメータが設定されていない場合、エラー ログは php-fpm のエラー ログに出力されます。
phpエラーログを出力するnginx php-fpm設定方法

2. php.iniの場所が見つかりません。結果を表示するにはphpのphpinfo()を使用します
phpエラーログを出力するnginx php-fpm設定方法

3. PHPエラーログをページや画面に出力しないように変更する方法
phpを変更する.ini

コードをコピー コード例:

display_errors = off //エラー情報を表示しない(ページや画面に出力しない)
log_errors = on //エラー情報を記録する(ログファイルに保存)
error_reporting = E_ALL //すべてのエラーメッセージをキャプチャ
error_log = //ログファイル名を設定

プログラム内の上記の設定を変更します

コードをコピー コード例:

ini_set("display_errors",0)
ini_set("error_reporting",E_ALL) //この値は PHP 定数のようです
ini_set("error_log","< log ファイル名>")
ini_set("log_errors",1);

4. PHP エラーログを nginx エラーログに出力する方法
PHP 5.3.8 以前のバージョンでは、PHP が FastCGI 経由で実行されている場合、ユーザー実行中にエラーが発生した場合PHP のエラーログにアクセスすると、まず PHP のエラーログに書き込まれます。PHP のエラーログに書き込めない場合、エラーの内容は FastCGI インターフェースに返され、PHP 5.3 では、nginx は FastCGI からのエラーの戻りを受け取った後にそれを nginx のエラーログに記録します。 .9 以降のバージョンでは、PHP はエラー発生後にのみ PHP のエラーログに書き込もうとしますが、失敗した場合は FastCGI に戻らず、エラーログは php-fpm のエラーログに出力されます。
そのため、phpのエラーログをnginxのエラーログに出力したい場合は、php5.3.8より前のバージョンを使用する必要があり、設定ファイル内のphpのerror_logはphpワーカープロセスからは書き込みできません。​

以上、nginx php-fpm で PHP エラーログを出力する設定方法を、関連内容も含めて紹介しましたので、PHP チュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート