ホームページ  >  記事  >  バックエンド開発  >  php.iniでエラーログを設定する方法

php.iniでエラーログを設定する方法

藏色散人
藏色散人オリジナル
2021-07-16 09:19:292539ブラウズ

php.ini でエラー ログを設定する方法: 1. php.ini 設定ファイルを開き、「display_errors = On」を変更します; 2. error_log で指定されたファイルに記録します; 3. 「error_reporting」を設定します。

php.iniでエラーログを設定する方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

方法php.ini エラーログを設定しますか?

#php.ini 設定 -- PHP エラー ログを記録する

PHP.ini のエラー ログの設定項目:

; display_errors

; デフォルト値: On ; 開発値: On
; 製品値: Off

; display_startup_errors
; デフォルト値: Off ; 開発値: On
; 製品値: Off

; error_reporting
; デフォルト値: E_ALL & ~E_NOTICE ; 開発値: E_ALL | E_STRICT
; 本番値: E_ALL & ~E_DEPRECATED

; html_errors
; デフォルト値: On ; 開発値: On
;実稼働値: Off

; log_errors
; デフォルト値: Off ; 開発値: On
; 実稼働値: On

display_errors =オフ

error_reporting = E_ALL & ~E_NOTICE


log_errors = オン


error_log = "e:/wamp/logs/php_error.log"


##1.) display_errors = オン

オープン状態では、エラーが発生した場合、エラーが報告され、エラー メッセージが表示されます
dispaly_errors = Off
In閉じた状態でエラーが発生した場合は、「サーバー エラー」というプロンプトが表示されます。ただし、エラー メッセージは表示されません

エラー エコーは開発モードでよく使用されますが、多くのアプリケーションは正式な環境ではこのオプションをオフにすることを忘れています。エラー エコーによって多くの機密情報が公開される可能性があり、攻撃者の次の攻撃が容易になります。オンラインになった後は、 このオプションをオフにすることをお勧めします。
2.) log_errors
これを正式な環境で使用し、エラー情報をログに記録します。エラーエコーをオフにするのにちょうどいいタイミングです。

デフォルトでは、Apache の error.log ファイルなど、WEB サーバーのログ ファイルに記録されます。 もちろん、error_log で指定されたファイルに を記録することもできます。

3)error_reporting

#error_reporting = E_ALL & ~E_NOTICE

参考: http://hi.baidu.com/allense7en /item /6eb4a4ab0d596a15a8cfb7b4

数字を合計して、目的のエラー報告レベルを取得できます。

E_ALL - すべてのエラーと警告 (E_STRICT を除く) E_ERROR - 致命的な実行時エラー E_WARNING - 実行時警告 (致命的ではないエラー)

E_PARSE - コンパイル時間解析エラー

E_NOTICE - 実行時のリマインダー (コードのバグによって引き起こされることが多い、または意図的な動作によって引き起こされる場合もあります。) E_STRICT - エンコーディングの標準化に関する警告、PHP の提案を可能にする 最適な相互運用性と最適な相互運用性を確保するためにコードを変更する方法上位互換性。



E_CORE_ERROR - PHP 起動の初期化中の致命的なエラー
E_CORE_WARNING - PHP 起動の初期化中の警告 (致命的ではないエラー)
E_COMPILE_ERROR - コンパイル時の致命的な性的エラー

E_COMPILE_WARNING - コンパイル時警告 (致命的ではないエラー)

E_USER_ERROR - ユーザー定義のエラー メッセージ E_USER_WARNING - ユーザー定義の警告メッセージ
E_USER_NOTICE - ユーザー定義のリマインダー メッセージ (E_ALL | E_STRICT に設定されている場合)これは、すべてのエラー メッセージ



を記録することを意味し、Web サイトに多数のエラー コードが表示される可能性がありますが、プログラマにとっては、これは良いことであると言えます。コードを最大限に最適化できます。致命的ではないエラーの中には、プログラムの動作に影響を与えないものもありますが、PHP の負荷が増加し、通常は Web サイトのプロセス (

など) が増加します。 #IIS アプリケーション プール) の負担。

この関数は、エラー メッセージ レポートのレベルを設定するために使用されます。パラメータ レベルは整数のビットマスクです。以下の表を参照してください。

マスク値は名前を表します
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 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT

E_NOTICE は、通常の状況が記録されないことを意味し、存在しない変数にアクセスしようとしたり、存在しない変数を表示するために stat() 関数を呼び出したりするなど、プログラムにエラー状況が発生した場合にのみ使用されます。 -存在するファイル。
通常、E_WARNING が表示されますが、プログラムの実行は中断されません。これはデバッグに役立ちます。たとえば、問題の正規表現を使用して ereg() を呼び出します。
通常、E_ERROR が表示され、プログラムの実行が中断されます。これは、このマスクを使用してメモリ構成やその他のエラーを追跡できないことを意味します。
E_PARSE は文法からのエラーを解析します。
E_CORE_ERROR E_ERROR と似ていますが、PHP コアによって発生するエラーは含まれません。
E_CORE_WARNING E_WARNING に似ていますが、PHP コア エラー警告は含まれません。
error_reporting( 7 ) = error_reporting( 1 2 4) = error_reporting(E_ERROR | E_WARING | E_PARSE)

#例

上記のオプションは任意の数で「OR」(OR または | を使用) で接続できるため、必要なすべてのレベルのエラーを報告できます。たとえば、次のコードはユーザー定義のエラーと警告をオフにし、特定の操作を実行した後、元のエラー レベルに戻ります。

<?php
//禁用错误报告
error_reporting(0);

//报告运行时错误
error_reporting(E_ERROR | E_WARNING | E_PARSE);

//报告所有错误
error_reporting(E_ALL);
?>

推奨される学習: 「PHP ビデオ チュートリアル

以上がphp.iniでエラーログを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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