私たちのプログラム開発では、プログラムの実行中にエラーが発生することがよくあります。PHP は、プログラムのエラー レベルに応じて異なるプロンプトを表示します。たとえば、警告やエラーなどですが、これらのエラーが単なる小さなエラーであれば、これらのエラーが報告されないようにすることができます。これには、この章で説明されているように、PHP のエラー レベルを設定する方法を使用する必要があります。
PHP では、エラー レベルを設定する方法が 2 つあります:
最初の方法: この方法で error_reporting を設定した後、Web サーバーを再起動すると、永続的に有効になります。
xampp 統合ソフトウェア パッケージを例として、構成ファイル php.ini を開いて、次のようにエラー報告レベル error_reporting のデフォルト値を確認します:
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT
はレポートを意味します。 E_DEPRECATED と E_STRICT を除くすべてのエラー。
これを次のように変更します:
error_reporting=E_ALL & ~E_NOTICE
は、E_NOTICE を除くすべてのエラーを報告することを意味します。これは、最も一般的に使用されるエラー報告レベルでもあり、アテンション クラスのエラー (未定義変数の使用など) は報告されません。
保存すると、Web サーバーを再起動した後に有効になります。
2 番目: error_reporting() 関数を使用してエラー レベルを設定すると、すぐに有効になります。ただし、現在のスクリプトの error_reporting() 関数呼び出し後の領域のみです。
error_reporting() 関数の構文は次のとおりです。
int error_reporting ([ int $level ] )
パラメーター level は、エラーのレベルを指定します。設定されていない場合は、現在のエラー レベルが返されます。以下は、level パラメータに指定される値です。
Value | Constant | Description |
1 | E_ERROR | スクリプトの実行を終了させる致命的なエラーを報告します |
2 | E_WARNING | 中に警告エラーを報告しますランタイム (スクリプトは実行を終了しません) |
4 | E_PARSE | コンパイル中の構文解析エラーを報告します |
8 | E_NOTICE | 通知エラーを報告します。スクリプトはエラーを生成する可能性があります |
16 | E_CORE_ERROR | PHP 起動時の初期化中に致命的なエラーが発生しました。 |
32 | E_CORE_WARNING | PHP 起動時の初期化中の警告 (致命的ではないエラー)。 |
64 | E_COMPILE_ERROR | 致命的なコンパイル時エラー。これは、Zend スクリプト エンジンによって生成される E_ERROR に似ています。 |
128 | E_COMPILE_WARNING | コンパイル時間の警告 (致命的ではないエラー)。これは、Zend スクリプト エンジンによって生成される E_WARNING 警告に似ています。 |
256 | E_USER_ERROR | ユーザー定義の警告メッセージ。これは、PHP 関数trigger_error (プログラマによって設定された E_WARNING 警告) |
512 | E_USER_WARNING | を使用したユーザー定義の警告メッセージに似ています。これは、PHP 関数trigger_error (プログラマによって設定された E_WARNING 警告) を使用したユーザー定義の警告メッセージ |
1024 | E_USER_NOTICE | に似ています。これは、PHP 関数trigger_error (プログラマによって設定された E_WARNING 警告) を使用してエンコードされた標準化された警告 |
2048 | E_STRICT | に似ています。 PHP が最適な相互運用性と上位互換性を確保するためにコードを変更する方法を提案できるようにします。 |
4096 | E_RECOVERABLE_ERROR | 致命的なエラー。これは E_ERROR に似ていますが、ユーザー定義のハンドラーによって捕捉できます (set_error_handler() も参照) |
8191 | E_ALL | すべてのエラーと警告 (E_STRICT を除く) (E_STRICT は現在 E_ALL の一部になります) PHP 6.0) |
任意数目的以上选项都可以用“或”来连接(用 OR 或 |),这样可以报告所有需要的各级别错误。
例子:
下面的代码关闭了用户自定义的错误和警告,执行了某些操作,然后恢复到原始的报错级别:
<?php //禁用错误报告 error_reporting(0); //报告运行时错误 error_reporting(E_ERROR | E_WARNING | E_PARSE); //报告所有错误 error_reporting(E_ALL); ?>
一个简单的例子是:
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
他表示php错误,警告,语法错误,提醒都返错。
以上がPHPでエラーレベルを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。