PHPエラーメッセージの設定

WBOY
WBOYオリジナル
2016-07-29 09:15:251233ブラウズ

エラー エコーは開発モードでよく使用されますが、多くのアプリケーションは公式環境ではこのオプションをオフにすることを忘れています。エラー エコーによって多くの機密情報が公開される可能性があり、攻撃者の次の攻撃が容易になります。このオプション

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 をインストールするのと同じように、php.ini ファイルをすでにセットアップし、適切なディレクトリに配置しておく必要があります。 2 (「参考文献」を参照)。 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 で明確に設定されていますが、操作を実行しても、Web ページにエラー メッセージが表示されます。
解決策:
log_errors= を確認してください 公式声明によれば、この log_errors が On に設定されている場合、error_log ファイルを指定する必要があります。指定されていない場合、または指定されたファイルに書き込み権限がない場合でも、エラーは発生します。 通常の出力チャネル以外では、display_errors の指定された Off も無効になり、エラー メッセージは引き続き出力されます。したがって、log_errors = オフ、問題は解決しました。
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
256 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);すべてのエラー
error_reporting(E_ALL)
?>
;

上記では、PHP のエラー メッセージの構成を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。