ホームページ > バックエンド開発 > PHPチュートリアル > クイックヒント:PHPでエラーレポートを管理する方法

クイックヒント:PHPでエラーレポートを管理する方法

Christopher Nolan
リリース: 2025-02-08 09:02:14
オリジナル
960 人が閲覧しました

Quick Tip: How to Manage Error Reporting in PHP

この記事では、PHPエラーレポートのスキルを調査し、PHPツールを使用してエラーを制御可能な方法で処理する方法を紹介し、それによりデバッグ時間を節約します。

PHPは、本質的に「軽量の例外」プログラミング言語です。これは、例外処理をサポートしている間、何が起こっても致命的なエラーが発生しない限り、スクリプトは実行され続けることを意味します。

例:

<?php   echo $sitepoint;
ログイン後にコピー
ログイン後にコピー

上記のコードは、次のメッセージを返します:

<code>Notice: Undefined variable: sitepoint in PHP shell code on line 1</code>
ログイン後にコピー

PHPは通知エラーのみをスローし、喜んで実行し続けます。 「ヘビー級の例外」言語(Pythonなど)は、エラーを投げて実行を停止します。

したがって、PHP開発者は、コードを書くときに特に注意する必要があります。通知は実行を停止しないため、プログラムの実行中に予期しない結果が発生する可能性がありますが、プログラムの正しい動作に影響を与える可能性があります。

PHPエラーレポートスタイルを調整する方法を導入する前に、まずPHPエラーの重大度のいくつかのレベルを理解しましょう。

PHPには、エラー、通知、警告の3つの主要なタイプのメッセージがあります。それらは、e_error、e_notice、およびe_warningの異なる重大度レベルを表しています。

    エラーは致命的なランタイムエラーであり、通常はコードの障害によって引き起こされます。これにより、PHPが実行を停止します。
  • 通知は、問題を引き起こす可能性があるか、または引き起こさないコード(未定義の変数など)によって引き起こされます。これらは実行を停止させません。
  • 警告は致命的なエラーであり、スクリプトの実行は停止しません。
php

でのエラーログ

デフォルトでは、PHPはエラーを記録しません。これを行うには、PHP構成ファイル(PHP.iniファイル)でdisplay_errors変数を開き、ロギングを開始するように明示的に示す必要があります。

このファイルでは、PHPに通知と警告を記録するかどうか、そしてこのログを記録する場所であるかどうかをPHPに伝えることもできます。

コードのログをトリガーすることもできます。これを行うには、error_log()関数を使用できます。エラーロギングはこの記事の焦点では​​ないため、詳細についてはこちらをご覧ください。

PHPエラーレポートの変更

ERROR_REPORTING()関数を使用して、デフォルトのPHPエラー報告動作を変更できます。この関数を使用して、スクリプト期間のエラーレベルを設定できます。これは、1つ以上の事前定義されたエラー定数を関数に渡すことによって行われます。

たとえば、

エラーだけでなく通知も表示したい場合は、以下を使用できます。

この宣言により、スクリプトの実行は、エラーが発生したときだけでなく、通知が発生したときにも停止します。

エラーを抑制します
<?php error_reporting(E_ERROR | E_NOTICE);
ログイン後にコピー

エラー制御オペレーター(@)を使用して、PHPに特定のエラーを抑制することもできます。この演算子を式の先頭に配置することにより、式の直接的な結果であるエラーは静かに処理されます。

この演算子を使用する場合は、エラーを完全に非表示にするため、

非常に注意してください。エラーが表示されないだけでなく、エラーログに送信されません。 これは無害に思えますが、このオペレーターを使用すると、コードのより深い構造的な問題をマスクし、潜在的に間違った動作をマスクします。

「ヘビー級例外」言語としてPHPを使用します

最後に、PHPは「ヘビー級の例外」プログラミング言語としても使用できます。通常のPHPエラーは、PHP例外クラスを拡張するErrorexceptionクラスを使用して例外としてスローできます。

次の例では、set_error_handler()関数を使用して、ユーザー定義の関数errorhandler()がエラーハンドラーとして設定されています。 file_get_contents()関数がファイルを見つけることができないために致命的なエラーが発生すると、errorexceptionがスローされます。

この方法を使用して、例外を使用して実行するように実行エラーを処理し、試してみてください...ステートメントをキャッチし、この場合にそれを行う方法について適切な指示を提供できます。

<?php   echo $sitepoint;
ログイン後にコピー
ログイン後にコピー
結論

全体として、PHPは非常にゆるい方法でエラーを処理する場合があります。既存のツールを使用して開発者を使用して、言語を最大限に活用できるようにすることに依存します。この一連のツールを使用することにより、制御された方法でエラーを処理し、デバッグ時間を節約できます。

PHP

でのエラーレポートの管理に関するよくある質問

PHPのバグレポートとは何ですか?

PHPでのエラー報告とは、PHPコードの実行中に発生するエラーまたは例外の検出と処理のプロセスを指します。エラーには、構文エラー、ランタイムエラー、論理エラーが含まれる場合があります。

PHPでエラーレポートを有効にする方法は?

PHPスクリプトまたはPHP.ini構成ファイルのERROR_REPORTING Configuration Directiveを設定することにより、PHPでエラーレポートを有効にすることができます。また、ERROR_REPORTING関数を使用して、コードのレポートレベルを動的に変更することもできます。

PHPエラーを優雅に処理する方法は?

トライを使用してエラーを優雅に処理できます...ブロックをキャッチし、条件付きステートメントを使用してエラー条件を確認してから、コードを実行し続けます。

PHP Trigger_Error関数は何ですか?

Trigger_Error関数は、ユーザーレベルのエラーメッセージを生成するために使用されます。この関数を使用して、カスタムエラーメッセージを作成し、コードでトリガーできます。

デバッグと分析のためにPHPエラーを記録する方法は?

ERROR_LOG関数を使用して、PHPエラーをファイルにログに記録できます。さらに、PHP.INI構成のERROR_LOGディレクティブを変更することにより、特定のファイルにエラーをログにログするようにPHPを構成できます。

以上がクイックヒント:PHPでエラーレポートを管理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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