検索
PHPのエラー処理Oct 08, 2016 pm 05:42 PM
PHPのエラー処理

エラータイプ

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

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 は、エラー ログが表示される場所です。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHP中的错误处理机制是什么?PHP中的错误处理机制是什么?May 12, 2023 pm 07:31 PM

PHP是一种流行而强大的服务器端编程语言,可以用来开发各种Web应用程序。就像其他编程语言一样,PHP也有可能会出现错误和异常。这些错误和异常可能由各种原因引起,如程序错误、服务器错误、用户输入错误等等。为了确保程序的运行稳定性和可靠性,PHP提供了一套完整的错误处理机制。PHP错误处理机制的基本思想是:当发生错误时,程序会停止执行并输出一条错误消息。我们可

如何处理 PHP 中的语法错误如何处理 PHP 中的语法错误Aug 07, 2023 pm 04:46 PM

如何处理PHP中的语法错误引言:在开发PHP程序时,经常会遇到语法错误的情况。语法错误是由于代码违反了PHP语法规则所引起的,它会导致脚本无法正确执行。本文将介绍一些处理PHP语法错误的方法,并提供相应的代码示例。使用错误提示功能PHP提供了丰富的错误提示功能,在开发过程中可以打开这些提示,以便及时发现和解决语法错误。可以通过设置erro

PHP文件操作错误的处理方法及生成相应报错信息PHP文件操作错误的处理方法及生成相应报错信息Aug 08, 2023 am 10:30 AM

PHP文件操作错误的处理方法及生成相应报错信息在使用PHP进行文件操作时,可能会遇到各种错误,如找不到文件、权限错误等。这些错误可能会导致程序无法正常运行,因此合理处理文件操作错误是非常重要的。本文将介绍PHP文件操作错误的处理方法,并展示如何生成相应的报错信息。一、错误处理方法使用错误控制运算符PHP提供了错误控制运算符“@”,可以在执行可能出错的语句前添

如何处理PHP文件路径错误并生成对应的报错信息如何处理PHP文件路径错误并生成对应的报错信息Aug 06, 2023 am 10:12 AM

如何处理PHP文件路径错误并生成对应的报错信息在开发和维护PHP应用程序时,经常会遇到文件路径错误的情况。当引用一个不存在的文件或者指定了错误的路径时,在PHP中会抛出一个致命错误,导致应用程序无法正常运行。为了更好地调试和处理这种情况,我们可以通过以下方式来处理PHP文件路径错误,并生成对应的报错信息。使用绝对路径在引用文件时,尽量使用绝对路径而不是相对路

如何进行PHP后端功能开发的错误处理?如何进行PHP后端功能开发的错误处理?Aug 04, 2023 pm 01:19 PM

如何进行PHP后端功能开发的错误处理?作为一名PHP后端开发人员,在开发过程中,我们经常会遇到各种错误。良好的错误处理是保证系统稳定性和用户体验的重要因素。在本文中,我将分享一些如何进行PHP后端功能开发的错误处理的方法和技巧,并提供相应的代码示例。设置错误报告级别PHP提供了一个错误报告级别参数,可以通过设置来定义要报告的错误类型。使用error_repo

解决PHP报错:调用未定义的类方法解决PHP报错:调用未定义的类方法Aug 18, 2023 pm 05:09 PM

解决PHP报错:调用未定义的类方法在进行PHP开发过程中,经常会遇到调用未定义的类方法的报错。这种情况一般是由于代码编写不规范或者使用的类方法不存在而导致的。下面我们将介绍一些解决该问题的常见方法。检查类方法是否存在当报错提示调用未定义的类方法时,首先要检查该方法是否存在于对应的类中。通过使用method_exists()函数可以检查某个类是否存在某个方法。

PHP 错误处理:最佳实践和建议PHP 错误处理:最佳实践和建议Aug 07, 2023 pm 12:25 PM

PHP错误处理:最佳实践和建议在编写PHP代码时,错误处理是一项非常重要的任务。如果不正确地处理错误,就会导致应用程序中的漏洞和安全问题。同时,良好的错误处理还有助于提高代码的可维护性和可扩展性。本文将介绍一些PHP错误处理的最佳实践和建议,并提供一些代码示例。使用异常处理在PHP中,异常是一种用于处理运行时错误的机制。通过使用异常,可以将错误

处理PHP源代码中index报错的方法处理PHP源代码中index报错的方法Mar 11, 2024 am 08:39 AM

处理PHP源代码中index报错的方法在PHP开发过程中,经常会遇到"indexundefined"的报错。这种报错通常是由于尝试访问数组或对象中不存在的索引而引起的。解决这种问题的方法有很多种,以下将结合具体的代码示例来展示几种处理的方法。方法一:使用isset()函数isset()函数用于检查变量是否已经被声明以及是否有值。通过使用isset()函数,

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン