ホームページ > バックエンド開発 > PHPチュートリアル > PHP エラー ログの記録 display_errors と log_errors_PHP チュートリアルの違い

PHP エラー ログの記録 display_errors と log_errors_PHP チュートリアルの違い

WBOY
リリース: 2016-07-21 15:15:49
オリジナル
798 人が閲覧しました

display_errors
エラー エコーは開発モードでよく使用されますが、多くのアプリケーションは公式環境ではこのオプションをオフにすることを忘れています。エラー エコーによって多くの機密情報が公開される可能性があり、攻撃者の次の攻撃が容易になります。このオプションをオフにすることをお勧めします。
display_errors = On
on 状態では、エラーが発生するとエラーが報告され、エラー メッセージが表示されます。
dispaly_errors = Off
off 状態では、エラーが発生すると次のプロンプトが表示されます。サーバーエラー。ただし、エラー メッセージは表示されません

log_errors
これを正式な環境で使用し、エラー情報をログに記録してください。エラーエコーをオフにするのにちょうどいいタイミングです。

PHP 開発者にとって、製品が使用されたら、最初に行うことは、パス、データベース接続、データ テーブル、およびこれらのエラーによって公開されるその他の情報によるハッカーによる攻撃を避けるために、display_errors オプションをオフにすることです。

製品の使用後、エラー メッセージが表示されることは避けられません。開発者にとって非常に役立つこの情報をどのように記録すればよいでしょうか?
PHP の log_errors をオンにするだけで、デフォルトでは Apache の error.log ファイルなどの WEB サーバーのログ ファイルに記録されます。
もちろん、指定したファイルにエラーログを記録することもできます。

コードをコピーします コードは次のとおりです:

# vim /etc/php.inidisplay_errors = Off
log_errors = On
error_log = /var/log/php-error.log

次のことができますまた、error_log = syslog を設定すると、これらのエラー メッセージがオペレーティング システム ログに記録されます。
display_errors = Off //display は中国語で表示を意味するため、display_error=off はエラーを表示しないことを意味します。
error_reporting は、エラー メッセージ レポートのレベルを設定します。
2047 E_ALL でなければならなかったと記憶しています。
php.ini ファイルには多くの構成設定があります。 Linux に PHP および Apache 2 をインストールする手順 (「参考文献」を参照) に記載されているように、php.ini ファイルを設定し、適切なディレクトリに配置しておく必要があります。 PHP アプリケーションをデバッグするときに注意すべき構成変数が 2 つあります。これら 2 つの変数とそのデフォルト値は次のとおりです。
display_errors = Off //すべてのエラー メッセージをオフにします。 ON の場合、すべてのエラー メッセージが表示されます。
error_reporting = E_ALL
E_ALL は、不適切なコーディング方法から無害なヒント、エラーまで、あらゆるものをカバーします。 E_ALL は、開発プロセスとしては少し詳細すぎるため、小さなこと (変数が初期化されていないなど) について画面にプロンプ​​トも表示され、ブラウザーの出力が台無しになります
したがって、2047 を使用することはお勧めできません。デフォルト値を次のように変更するのが最善です: error_reporting = E_ALL & ~E_NOTICE

PHP.ini での display_errors = Off の失敗の解決策

問題:
Display_errors = Off が PHP 設定ファイル php で明確に設定されています.ini を作成しましたが、操作中にページが表示されたままになり、エラー メッセージが表示されます。
解決策:
公式声明によれば、log_errors=On を確認した後、この log_errors が On に設定されている場合、error_log ファイルを指定する必要があります。指定されていない場合、または指定されたファイルに書き込み権限がない場合は、この場合、通常の出力が引き続き出力され、display_errors の指定された Off は無効になり、エラー メッセージが出力されます。したがって、log_errors = Off に設定すると、問題は解決されます。

error_reporting (7) は、エラー メッセージ レポートのレベルの設定を意味するとよく見られます。

値定数
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
2 56 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
ただし 7=1+ 2 +4
1 E_ERROR 2 E_WARNING 4 E_PARSE はエラーが発生したときに表示されます
コードをコピーします コードは次のとおりです:

//エラー報告を無効にする
error_reporting(0 );
//実行時エラーを報告する
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//すべてのエラーを報告する

;

http://www.bkjia.com/PHPjc/326045.html

tru​​ehttp://www.bkjia.com/PHPjc/326045.html技術記事通常、display_errors エラー エコーは開発モードで使用されますが、多くのアプリケーションは正式な環境ではこのオプションをオフにし忘れます。エラー エコーは多くの機密情報を公開する可能性があります。つまり...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート