ホームページ > バックエンド開発 > PHPチュートリアル > PHP エラー処理とデバッグのスキル

PHP エラー処理とデバッグのスキル

王林
リリース: 2024-05-03 18:21:01
オリジナル
690 人が閲覧しました

PHP エラー処理およびデバッグ スキルには以下が含まれます。 エラー タイプ: E_ERROR、E_WARNING、E_NOTICE エラー処理関数: register_shutdown_function()、set_error_handler()、error_get_last() カスタム エラー処理関数: エラーを記録または処理し、プログラムの終了を防ぐために使用されます。デバッグ スキル: ログを確認する、例外処理を使用する、PHP でエラーを表示できるようにする、オンライン デバッガーを使用する

PHP 错误处理与调试技巧

PHP エラー処理とデバッグ スキル

PHP のエラー処理は、堅牢で信頼性の高いアプリケーションを開発するために重要です。ここでは、PHP エラーを効果的に処理およびデバッグするのに役立ついくつかのヒントを示します:

エラー タイプ

PHP エラーは次のタイプに分類されます:

  • E_ERROR: 重大なエラー。プログラムは実行を続行できません。
  • E_WARNING: 重大なエラーではありませんが、予期しない動作が発生する可能性があります。
  • E_NOTICE: 致命的ではないエラー。通常は PHP の不適切な使用を示します。

#エラー処理関数

PHP には次のエラー処理関数が用意されています:

  • ##register_shutdown_function() :致命的なエラーを報告するためにスクリプト実行の最後に呼び出されます。
  • set_error_handler(): エラーを処理するカスタム関数を設定します。
  • error_get_last(): 最新のエラー情報を取得します。

エラー処理関数の例

致命的なエラーをログ ファイルに記録するエラー処理関数の例を次に示します:

function error_handler(int $errno, string $errstr, string $errfile, int $errline)
{
    $message = sprintf("Error (%d): %s in %s on line %d", $errno, $errstr, $errfile, $errline);
    file_put_contents('error_log.txt', $message);
}
ログイン後にコピー

カスタム エラー処理関数の使用#カスタム エラー処理関数を使用するには、スクリプトの先頭で

set_error_handler()

を呼び出します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>set_error_handler('error_handler');</pre><div class="contentsignin">ログイン後にコピー</div></div>

エラー デバッグのヒント

PHP エラーのデバッグに役立つヒントをいくつか紹介します:

サーバー ログを確認します。
  • 例外処理を使用します。
  • PHP でエラーを表示できるようにします。
  • オンライン デバッガーを使用します。
実践的な例

存在しないファイルを読み取ろうとする PHP スクリプトがあるとします。このエラーは致命的なエラーを引き起こします。

$file = "/path/to/non-existent-file.txt";
$contents = file_get_contents($file);
ログイン後にコピー

このエラーを処理するには、カスタム エラー処理関数を使用できます。

function error_handler(int $errno, string $errstr, string $errfile, int $errline)
{
    if ($errno === E_ERROR) {
        // 记录错误
    }
}

set_error_handler('error_handler');
ログイン後にコピー

この方法では、スクリプトが存在しないファイルを読み取ろうとすると、エラーがログに記録されます。プログラムは引き続き実装されます。

以上がPHP エラー処理とデバッグのスキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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