ホームページ  >  記事  >  バックエンド開発  >  PHPコード実行時のエラー出力情報の取得

PHPコード実行時のエラー出力情報の取得

WBOY
WBOYオリジナル
2023-05-11 08:14:13779ブラウズ

PHP は広く使用されているオープンソース プログラミング言語であり、強力なコンパイル機能を備えていますが、開発プロセス中にさまざまなエラーが発生することは避けられません。これらのエラーを迅速に特定して解決するには、PHP コードの実行中にエラー出力情報を取得する必要があります。この記事では、PHPコード実行時のエラー出力情報を取得する方法を紹介します。

1. error_reporting 関数を使用する

PHP には、PHP コードのエラー報告レベルを設定するために使用できる error_reporting 関数が用意されています。コードの開発とデバッグでは、error_reporting を E_ALL に設定して、コード内のすべてのエラー情報をタイムリーに取得できます。次のように:

error_reporting(E_ALL);

error_reporting を設定した後、コードに try...catch... を追加して、PHP コードの実行中にエラー情報を取得します。次のように:

try{
    // your code here
}catch(Exception $e){
    echo $e->getMessage();
}

catch ステートメントを通じて、コードの実行中に生成されたエラーをキャプチャでき、プログラマーがエラーを見つけて修復できるように、エラー情報が echo ステートメントを通じて出力されます。運用環境では、情報の漏洩を避けるために、エラー報告出力をオフにする必要があることに注意してください。

2. set_error_handler 関数を使用する

try...catch... の使用に加えて、set_error_handler 関数を使用して、PHP コードの実行中にエラー情報を取得することもできます。 set_error_handler 関数は、カスタム エラー ハンドラーを登録するために使用されます。PHP コードがエラーを生成すると、エラーを処理するためにカスタム エラー ハンドラーが呼び出されます。次のとおりです:

function customError($errno, $errstr){
    echo "<b>Error:</b> [$errno] $errstr<br>";
}

set_error_handler("customError");

上記の例では、PHP コードでエラーが発生すると、カスタム エラー ハンドラー CustomError が呼び出され、エラー メッセージが出力されます。カスタム エラー ハンドラーは、それぞれエラー タイプとエラー メッセージを表す 2 つのパラメーター $errno と $errstr を受け入れる必要があります。カスタム エラー ハンドラーは通常、別の PHP ファイルに記述し、PHP コードが実行される前にコードに含める必要があります。

set_error_handler 関数は、PHP によって生成されたエラーのみをキャプチャできますが、PHP の実行中に生成された警告や通知はキャプチャできないことに注意してください。警告および通知情報を取得する必要がある場合は、set_error_handler 関数の 3 番目のパラメーターを使用して、報告できるエラーの種類を指定します。

3. log_errors 関数と error_log 関数を使用する

上記の方法を使用することに加えて、PHP の log_errors 関数と error_log 関数を使用してエラー情報を取得することもできます。 log_errors 関数は、エラー情報を PHP ログ ファイルに書き込むかどうかを設定するために使用され、error_log 関数を通じてエラー情報をログ ファイルに書き込みます。次のとおりです:

ini_set('log_errors', 'On');
ini_set('error_log', '/path/to/log/file.log');

// your code here

error_log($error_message);

上の例では、ini_set 関数によって log_errors が On に設定されています。これは、生成されたエラー情報が PHP ログ ファイルに記録されることを意味します。 ini_set 関数でログファイルのパスとして error_log を指定すると、パスで指定されたログファイルにエラー情報が保存されます。コードでは、error_log 関数を介して $error_message パラメータを渡し、指定されたログ ファイルにエラー情報を記録します。

運用環境では、他の人がログ ファイルの内容を変更できないように、ログ ファイルを読み取り専用のアクセス許可に設定する必要があることに注意してください。同時に、問題が発生した場合のトラブルシューティングと分析を容易にするために、ログ ファイルは十分な期間保持する必要があります。

結論

上記の 3 つの方法は、プログラマが PHP コードのエラー出力情報を取得するのに役立ちます。 PHP コードの実行中にエラー情報を取得することで、プログラマーは問題をより迅速に特定してトラブルシューティングを行うことができ、PHP アプリケーションの安定性とセキュリティを確保できます。運用環境では、機密情報の漏洩を避けるために、エラー出力情報の表示を制限する必要があることに注意してください。同時に、ハッカーによるエラー出力情報への攻撃を防ぐため、エラー出力情報のセキュリティも確保する必要がある。

以上がPHPコード実行時のエラー出力情報の取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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