php apache エラー ログを有効にする方法: まず php-fpm.conf の設定を変更し、次に php.ini の設定を「log_errors = On」に変更し、最後に php-fpm を再起動します。
推奨: 「PHP ビデオ チュートリアル 」
nginx と Apache により php エラー ログが有効になります
最近ローカルに構築された LNMP 開発環境。開発中のフロントエンドの通常の開発に影響を与えないように、PHP の php.ini 内の一部のエラー メッセージはブロックされます。しかし、この方法では、開発中の一部の問題を時間内にデバッグできないなど、バックエンド開発の一部の問題に影響します。
nginx は Apache とは異なります. Apacheの場合 PHPエラーログを直接指定できるため、PHP実行時のエラー情報が直接PHPエラーログに入力され、簡単に参照することができます。
nginx では、次のようになります。nginx は、ページ訪問のアクセス ログのみを記録します。 PHP エラー ログ情報は残りません。 nginx は php へのリクエストを php-fpm fastcgi プロセスに送信して処理しますが、デフォルトの php-fpm では php-fpm のエラーメッセージのみが出力され、php-fpm のエラーログには php のエラーログは表示されません。
その理由は、php-fpm 設定ファイル php-fpm.conf がデフォルトでワーカー プロセスのエラー出力をオフにし、それらを /dev/null に直接リダイレクトするため、nginx のエラー ログと php を使用するためです。・fpmのエラーログはphpのエラーログが見れません。
したがって、php-fpm が nginx で php エラー ログを記録しないことを確認するには、次の設定を行う必要があります。
1、そうでない場合は、php-fpm.conf の設定を変更してください。追加:
[global] ; Note: the default prefix is /usr/local/php/var error_log = log/php_error_log [www] catch_workers_output = yes
2. php.ini の設定を変更します。そうでない場合は、追加:
log_errors = On error_log = "/usr/local/php/var/log/error_log" error_reporting=E_ALL&~E_NOTICE
3. php-fpm
を再起動します。 PHP エラーを実行すると、「/usr/local/lnmp/php/var/log/php_error_log」にエラー ログが表示されます。
表示される場合:
[root@localhost etc]# service php-fpm restart Gracefully shutting down php-fpm . done Starting php-fpm [17-Apr-2014 18:40:52] ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry 'catch_workers_ [17-Apr-2014 18:40:52] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf' [17-Apr-2014 18:40:52] ERROR: FPM initialization failed failed
その後、最初のステップで対応するグループに構成を慎重に書き込んでください。そうしないと、上記のエラーが表示されます:
ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output' apache display_errors
エラー エコーは開発モードでよく使用されますが、多くのアプリケーションは正式環境にあります。このオプションをオフにするのを忘れていました。エラー エコーによって多くの機密情報が公開される可能性があり、攻撃者の次の攻撃が容易になります。このオプションをオフにすることをお勧めします。
display_errors = On
オープン状態では、エラーが発生すると、エラーが報告され、エラー メッセージが表示されます。
dispaly_errors = Off
クローズ状態では、エラーが発生すると、次のプロンプトが表示されます。サーバーエラー。ただし、エラー メッセージは表示されません。
log_errors
これを正式な環境で使用し、エラー メッセージをログに記録してください。エラーエコーをオフにするのにちょうどいいタイミングです。
PHP 開発者にとって、製品が使用されたら、まず、display_errors オプションをオフにして、パス、データベース接続、データ テーブル、およびこれらのエラーによって公開されるその他の情報による損傷を避けることです。ハッカーの攻撃。
製品が使用されると、必然的にエラー メッセージが表示されます。開発者にとって非常に役立つこの情報をどのように記録すればよいでしょうか?
PHP の log_errors をオンにするだけで、デフォルトでは Apache の error.log ファイルなどの WEB サーバーのログ ファイルに記録されます。
もちろん、指定したファイルにエラーログを記録することもできます。
以上がphp apacheエラーログを有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。