PHPは、エラーをいくつかのタイプに分類します:
解析エラー(構文エラー):
これらは、PHPがセミコロンの欠落や不一致の括弧などの無効な構文に遭遇するときに発生します。 彼らはスクリプトの実行を停止します。(クロージングの見積もりがないと、解析エラーが発生します)
<?php echo "Hello World ?>
致命的なエラー:
非定義関数の呼び出しや未定義のクラスの使用などの重大な問題によるこれらの停止スクリプトの実行。を呼び出すと致命的なエラーが発生します)
<?php undefinedFunction(); ?>
警告誤差:undefinedFunction()
これらは、問題にもかかわらず、スクリプトが実行を継続できる致命的なエラーです。一般的な原因には、誤った関数引数または存在しないファイルへのアクセスが含まれます。
通知エラー:
<?php include('non_existent_file.php'); ?>
(通知は未定義の変数を示しています)
非推奨警告:
これらは、時代遅れの機能または機能を使用することについて警告し、開発者に互換性とパフォーマンスを向上させるためにコードを更新するように促します。<?php echo $undefinedVariable; ?>
(
は、PHP 7.0以降で非推奨)php
<?php $var = split(",", "apple,banana"); ?>
PHPは、堅牢なエラーの報告と処理機能を提供します:split()
エラーレポートの有効化:関数は、どのエラータイプが報告されているかを制御します。
すべてのエラータイプを報告します。 その他のレベルには、、
、が含まれます
error_reporting()
error_reporting(E_ALL);
エラーの表示:E_ERROR
E_WARNING
ディレクティブは、開発中に役立つが、生産中に無効にする必要があるエラーをWebページに直接表示します。
ロギングエラー:生産環境の場合、ファイルへのログエラー、およびini_set('log_errors', 1);
ログエラー、機密情報がユーザーに公開されないようにします。
ini_set('error_log', '/path/to/log/file.log');
PHPを使用すると、
を使用してカスタムエラーハンドラーを作成できます。この関数は、エラーを処理するユーザー定義のコールバック関数、ロギング、電子メール通知、またはカスタムエラーディスプレイを有効にします。
set_error_handler()
<?php echo "Hello World ?>
例外は、エラーを処理するための構造化されたアプローチを提供します。 ブロックは、潜在的に問題のあるコードをカプセル化し、例外を優雅にキャッチして処理できるようにします。 カスタム例外クラスは、エラー管理をさらに絞り込むことができます
ロギングエラーtry-catch
ベストプラクティス
生産中のエラー表示を無効にします 広範なロギングを使用します
以上がPHPでのエラー処理:完全なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。