php fpm 出力エラーの設定方法: 最初に「php-fpm.conf」ファイルを開き、次にコンテンツ「error_log = log/error_log」を追加し、次に「php.ini」ファイルを開いてコンテンツを追加します。 " log_errors = On"; 最後に再起動します。
推奨: 「PHP ビデオ チュートリアル 」
この記事では、nginx サーバーで次の設定を行います。興味のある方はphp-fpmでphpのエラーログを出力する方法を参考にしていただければ幸いです。
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 パラメータ
So phpinfo() で表示される最終的な error_log ファイルに書き込み可能なアクセス許可があり、php_admin_value[error_log] パラメータが設定されていないことを確認してください。設定されていない場合、エラー ログは php のエラー ログに出力されます。 -fpm。
2. php.ini の場所が見つかりません。結果を表示するには、php の phpinfo() を使用します。 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","<日志文件名>") ini_set("log_errors",1);
PHP のエラー ログに書き込めない場合は、エラー内容は FastCGI インターフェースに返され、nginx は FastCGI からのエラー戻りを受信した後、それを nginx のエラーログに記録します。
PHP 5.3.9 以降のバージョンでは、PHP は、エラーが発生した後にのみ PHP エラーログに書き込もうとします。失敗するとFastCGIには戻らず、php-fpmのエラーログにエラーログが出力されます。したがって、php のエラーログを nginx エラーログに出力したい場合は、php5.3.8 より前のバージョンを使用する必要があり、設定ファイル内の php の error_log は、php ワーカープロセスによって書き込むことができません。
以上がnginx php-fpmがphpエラーログを出力する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。