ホームページ > バックエンド開発 > PHPの問題 > php apacheエラーログを有効にする方法

php apacheエラーログを有効にする方法

藏色散人
リリース: 2023-03-06 18:48:02
オリジナル
3747 人が閲覧しました

php apache エラー ログを有効にする方法: まず php-fpm.conf の設定を変更し、次に php.ini の設定を「log_errors = On」に変更し、最後に php-fpm を再起動します。

php apacheエラーログを有効にする方法

推奨: 「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 サイトの他の関連記事を参照してください。

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