PHP 開発では、構文エラー、実行時エラー、論理エラーなど、さまざまなエラーが頻繁に発生します。エラー情報を迅速かつ正確に取得する方法は、開発プロセス中に習得する必要がある重要なスキルの 1 つです。この記事では、PHP でシステムエラー情報を取得する方法を紹介します。
1. エラーの種類
1. 構文エラー
構文エラーとは、コードを記述する際の誤った構文規則を指します。PHP コンパイラーがこのエラーを検出すると、直接停止します。プログラムを実行するとエラーメッセージが表示されます。
2. 実行時エラー
実行時エラーとは、プログラムの実行中に発生するエラーを指しますが、プログラムの実行は中断されません。このエラーは通常、間違った関数や変数の呼び出し、間違った型や値の割り当てなどが原因で発生します。
3. 重大なエラー
重大なエラーとは、メモリ不足など、プログラムのクラッシュや実行の続行不能を引き起こすエラーを指します。
2. エラー処理関数
PHP は、プログラムの実行中にエラー情報を取得して処理できる多くのエラー処理関数を提供します。一般的に使用されるいくつかのエラー処理関数を次に示します。
1.set_error_handler()
set_error_handler() 関数は、エラー処理関数をカスタマイズするために使用されます。この関数はエラーが発生する前に呼び出す必要があります。そうしないと、カスタム関数は呼び出されません。
たとえば、ランタイム エラーを処理するカスタム関数を定義できます。
function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>错误:</b> [$errno] $errstr<br>"; echo "错误所在行:$errline<br>"; echo "错误所在文件:$errfile<br>"; echo "PHP版本:" . phpversion(); } set_error_handler("myErrorHandler");
2.set_Exception_handler()
set_Exception_handler() 関数は、例外処理をカスタマイズするために使用されます。関数 。例外とは、プログラムの実行中に発生するエラーのことで、プログラム内で例外が発生すると、PHP は実行を停止し、例外処理関数にジャンプします。
たとえば、例外を処理するカスタム関数を定義できます:
function myExceptionHandler($exception) { echo "<b>异常信息:</b>" . $exception->getMessage() . "<br>"; echo "<b>异常所在文件:</b>" . $exception->getFile() . "<br>"; echo "<b>异常所在行:</b>" . $exception->getLine() . "<br>"; echo "<b>异常堆栈:</b><pre class="brush:php;toolbar:false">" . $exception->getTraceAsString() . ""; } set_exception_handler("myExceptionHandler");
3.error_reporting()
error_reporting() 関数は、報告されるエラー レベルを設定するために使用されます。 。コードをデバッグするときに、エラー レベルを E_ALL に設定すると、すべてのエラー メッセージが出力されます。エラー報告をオフにしたい場合は、0 に設定できます。
例:
error_reporting(E_ALL); //输出所有错误 error_reporting(0); //关闭错误报告
3. エラー情報のキャプチャと出力
PHP では、try-catch ステートメントを使用して例外情報をキャプチャおよび処理できます。 error_log() 関数も使用して、エラー情報をログ ファイルに記録します。
1. 例外情報のキャプチャ
プログラム内で try-catch ステートメントを使用して例外情報をキャプチャし、それをログ ファイルに出力または記録できます。
例:
try { //执行代码 } catch (Exception $e) { echo "发生异常:" . $e->getMessage(); }
2. エラー情報をログ ファイルに記録する
error_log() 関数を使用して、エラー情報をログ ファイルに記録できます。エラーを迅速に見つけて特定するのに役立ちます。
例:
try { //执行代码 } catch (Exception $e) { error_log("发生异常:" . $e->getMessage(), 3, "error.log"); }
error_log() 関数の最初のパラメータは記録する必要があるエラー情報、2 番目のパラメータはログ ファイルの記録方法、3 は書き込みを意味します。エラー情報をファイル内で、3 番目のパラメータはログ ファイル名です。
4. 概要
PHP 開発では、システム エラー情報を取得して処理することは非常に重要なスキルです。 PHP が提供するエラー処理関数、例外処理関数、try-catch ステートメント、error_log() 関数を使用すると、エラー情報の取得と処理がより迅速かつ便利になり、コードの保守性と安定性が向上します。
以上がPHP でシステム エラー メッセージをキャプチャする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。