ホームページ  >  記事  >  バックエンド開発  >  php.ini を変更してエラー メッセージをブロックし、ログを記録する_PHP チュートリアル

php.ini を変更してエラー メッセージをブロックし、ログを記録する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:06:18995ブラウズ

これは、php.ini でエラー表示がオフになっており、エラーがファイルに書き込まれているためです。これは、display_errors =on を単に設定した結果です。
ただし、デバッグ時はオンにし、サービス提供時はオフにすることを推奨します。

いくつかの情報を提供します:

display_errors = On

phpはデフォルトでエラーメッセージ表示をオンにします。それを次のように変更します:

display_errors = Off

エラー表示をオフにした後、php関数実行エラーメッセージこれにより、攻撃者はエラー メッセージからスクリプトの物理的な場所やその他の有用な情報を知ることができなくなり、少なくとも攻撃者のブラック ボックスに一定の障害が生じます。検出。これらのエラー メッセージは、指定されたファイルに書き込んで、次のように変更できます:

log_errors = Off

そして、指定されたファイルで、次の行を見つけます。
;error_log = filename

前のコメントを削除し、ファイル名を /usr/local/apache/logs/php_error.log などの指定したファイルに変更します

error_log = /usr/local/apache/logs/php_error.log

このようにして、すべてのエラーが php_error.log ファイルに書き込まれます。

====================================

error_reporting
エラーメッセージレポートのレベルを設定します。
構文: int error_reporting(int [level]);
戻り値: 整数
関数の種類: PHP システム関数

この関数は、エラー メッセージ レポートのレベルを設定するために使用されます。以下の表を参照してください。 。
マスク値は名前を示します
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING

E_NOTICE は、プログラムにエラー状況が発生した場合にのみ使用されることを示します。存在しないファイル変数にアクセスしようとするか、存在しないファイルを表示するために stat() 関数を呼び出します。
E_WARNING は通常表示されますが、プログラムの実行は中断されません。これはデバッグに役立ちます。たとえば、問題の正規表現を使用して ereg() を呼び出します。
E_ERROR は通常表示され、プログラムの実行も中断されます。これは、このマスクを使用してメモリ構成やその他のエラーを追跡できないことを意味します。
E_PARSE 文法からのエラーを解析します。
E_CORE_ERROR E_ERROR と似ていますが、PHP コアによって引き起こされるエラーは除外されます。
E_CORE_WARNING E_WARNING と似ていますが、PHP コア エラー警告は含まれません。
————————————
追加:
1.
php ファイルの
Error_reporting(7)、そのうち 7 は 1+2+4 です。つまり、戻り値は 1 E_ERROR 2 E_WARNING 4 E_PARSE です。
2.
php.ini
display_errors = Off //デフォルトではエラープロンプトがオフになります
error_reporting = E_ALL //報告された情報が詳細すぎるため、無害なプロンプトからエラーまですべての情報を表示します開発プロセス中に実際のプロンプトを表示するには、error_reporting = E_ALL & ~E_NOTICE を構成することをお勧めします。



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

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/327612.html技術記事これは、php.ini でエラー表示がオフになっており、エラーがファイルに書き込まれているためです。これは、単に display_errors =on を設定した結果です。 ただし、デバッグ時にはエラーを表示しない方が安全です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。