PHPのエラー処理

高洛峰
リリース: 2016-10-08 17:42:47
オリジナル
1352 人が閲覧しました

エラータイプ

エラータイプ整数値の賢明な設定により、ビット単位の演算子を使用できます

1 E_ERROR (整数)

致命的な実行時エラー。このタイプのエラーは、メモリ割り当てによって引き起こされる問題など、通常は回復不可能な状況です。
スクリプトが終了し、実行を継続できなくなる
例: 未定義の関数を呼び出すと、キャッチされない例外が発生します

2 E_WARNING (整数)

実行時警告 (致命的ではないエラー)
プロンプト メッセージのみが表示されます指定されていますが、スクリプトは操作を終了しません。

4 E_PARSE (整数)

コンパイル時の構文解析エラー。
解析エラーはパーサーによってのみ生成されます。
register_shutdown_function は、このファイルで発生したこのエラーをキャプチャできません

8 E_NOTICE (整数)

実行時通知。スクリプトがエラーとして表示される可能性のある状況に遭遇したことを示しますが、正常に実行できるスクリプトにも同様の通知がある可能性があります
例: 未定義変数の使用

16 E_CORE_ERROR (整数)

PHP 初期化起動プロセス中エラーが発生しました。
このエラーは E_ERROR に似ていますが、PHP エンジン コアによって生成されます。

32 E_CORE_WARNING (整数)

PHP の初期化起動プロセス中に警告 (致命的ではないエラー) が発生しました
E_WARNING に似ていますが、PHP エンジン コアによって生成されます

E_COMPILE_

コンパイル関連
64 E_COMPILE_ERROR (整数)
Fatアルコンピレーション時間エラー。 E_ERROR に似ていますが、Zend スクリプト エンジンによって生成されます。 PHP 4 以降
128 E_COMPILE_WARNING (整数)
コンパイル時警告 (致命的ではないエラー)。 E_WARNING に似ていますが、Zend スクリプト エンジンによって生成されます。

E_USER_

ユーザー生成
256 E_USER_ERROR (整数)
ユーザー生成のエラー メッセージ。 E_ERROR に似ていますが、ユーザーがコード内で PHP 関数trigger_error()を使用して生成されます。 PHP 4 以降
512 E_USER_WARNING (整数)
ユーザーによって生成された警告メッセージ。 E_WARNING と似ていますが、ユーザーがコード内で PHP 関数trigger_error()を使用して生成されます。 PHP 4 以降
1024 E_USER_NOTICE (整数)
ユーザーによって生成された通知情報。 E_NOTICE と似ていますが、コード内で PHP 関数trigger_error() を使用してユーザーによって生成されます

2048 E_STRICT (整数)

最良の相互運用性とコード互換性の前進を保証するためのコード変更に対する PHP の提案を有効にします。

4096 E_RECOVERABLE_ERROR (整数)

捕捉できる致命的なエラー。 これは、潜在的に危険なエラーが発生したが、PHP エンジンが不安定になる原因ではなかったことを示します。 エラーがユーザー定義のハンドラー (set_error_handler()) によって捕捉されない場合、E_ERROR となり、スクリプトは終了します。

8192 E_DEPRECATED (整数)

実行時通知。
有効にすると、将来のバージョンで正しく動作しなくなる可能性のあるコードに対して警告が表示されます。

16384 E_USER_DEPRECATED (整数)

ユーザーによって生成された警告メッセージ。 E_DEPRECATED と似ていますが、コード内で PHP 関数trigger_error()を使用してユーザーによって生成されます。

30719 E_ALL (整数)

E_STRICT

エラー処理関連関数内のすべてのエラーと警告文字

error_reporting

int error_reporting ([ int $level ] )

どのような種類の PHP エラーを報告するかを設定します

/ / すべての PHP エラー レポートを閉じ、新しいエラー レポート レベルを返します error_reporting(0); // 単純な実行エラーをレポートしますerror_reporting(E_ERROR | E_WARNING | E_PARSE);

パラメーターが使用されない場合、現在のエラー レポート レベルは返される

error_get_last

最後に発生したエラーを取得します。 register_shutdown_function() がよく使われます

array error_get_last ( void )

結果を返します

Array(
[type] => 8
[message] => ; 未定義の変数: a [file ] => C:WWWindex.php [line] => 2)

trigger_error

ユーザーレベルのエラー/警告/通知メッセージを生成します

trigger_error ( string $error_msg , int $error_type = E_USER_NOTICE ]

error_log

エラー情報を Web サーバーのエラー ログに送信するか、ファイルが存在しない場合はファイルが作成されます

bool error_log ( string $message [ , int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

message_type
エラーの送信先を設定します
0 メッセージは、オペレーティング システムのロギング メカニズムまたはphp.ini の error_log の設定に応じて、これがデフォルトのオプションです。
1 メッセージは、パラメーターの宛先によって設定された電子メール アドレスに送信されます。
3 メッセージは、このタイプでのみ使用されます。宛先ファイルに送信されます。 デフォルトでは、文字メッセージは改行として扱われません。
4 SAPI のログ ハンドラーに直接送信されるメッセージ

set_error_handler()

スクリプト内で発生したエラーを処理するためのユーザー定義のエラー処理関数を設定します

mixed set_error_handler ( callable $error_handler [, int $error_types = E_ALL | E_STRICT ] )


error_types で指定されたエラー タイプは、コールバック関数が FALSE を返さない限り、PHP 標準エラー ハンドラーをバイパスします。 error_reporting() 設定は効果がなく、エラー ハンドラーは引き続き呼び出されます。必要に応じて die() を使用するのはユーザーの責任です。

注意
次のレベルのエラーはユーザー定義関数では処理できません: E_ERROR、E_PARSE、E_CORE_ERROR、E_CORE_WARNING、E_COMPILE_ERROR、E_COMPILE_WARNING、およびほとんどの E_STRICT

error_handler

handler ( int $errorLevel , string $errorMessage [, string $ errfile [, int $errline [, array $errcontext ]]] )


errcontextは、エラーが発生したときにアクティブなシンボルテーブルを指す配列です。 つまり、errcontext には、エラーがトリガーされたスコープ内のすべての変数の配列が含まれます。 ユーザーのエラー ハンドラーはエラー コンテキストを変更しないでください。

set_Exception_handler

ユーザー定義の例外処理関数を設定します

getMessage(), "n";}set_Exception_handler('Exception_handler ');throw new Exception('Uncaught Exception');echo "Not Executedn";?>


register_shutdown_function

この関数は、スクリプトの終了後に実行される関数です (正常に終了したか、終了またはエラーで終了したかに関係なく) ) )

php.iniのエラー設定

PHPエラーの仕組みのまとめ

error_reporting = E_ALL // レポートのエラー レベル、どのレベル error_log = /tmp/php_errors.log // php でのエラー表示のログの場所 display_errors = On // 出力にエラーを表示するかどうか、この出力はページである可能性があります。 stdoutdisplay_startup_errors = On にすることもできます。 // 起動プロセスのエラー情報をページに表示するかどうか。これは、起動時に発生するいくつかのコア タイプのエラーがあることに注意してください。 log_errors = On // エラー ログを記録するかどうか log_errors_max_len = 1024 // エラー ログの最大長ignore_repeat_errors = Off // 繰り返されるエラーを無視するかどうか track_errors = Off // グローバル変数 $php_errormsg を使用して最後のエラーを記録するかどうか xmlrpc_errors = 0 / /エラーを記録するために XML-RPC エラー メッセージ形式を使用するかどうか xmlrpc_error_number = 0 //XML-RPC の fastCode 要素の値として使用されます。 html_errors = On // 出力内の関数およびその他の情報を HTML リンクに変換するかどうか docref_root = http://manual/en/ // html_errors がオンの場合、このリンクのルート パスは何ですか fastcgi.logging = 0 // PHPエラーをfastcgiに投げ込むかどうか

PHPのデフォルトはログと標準出力(fpmモードの場合は標準出力がページ)
error_reportingのパラメータはエラーレベルです。エラーをトリガーするレベルを示します。
display_errors は、エラー情報を標準出力に表示するかどうかを制御します。
error_log は、エラー ログが表示される場所です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート