PHP エラー処理エラー報告レベル
エラーレポートレベル
エラータイプ
表示される最も一般的なエラーのスクリーンショット。この本はそれらを要約するのに役立ちます:
[マスターレベルエラータイプ] 最も一般的に使用されるエラーを3つのタイプに分けました:
エラーの種類 | 説明 |
---|---|
E_ERROR | エラー、ファイルが直接中断されました |
E_WARNING | 警告、問題は深刻です。ただし、下向きに実行され続けます |
E_NOTICE | ヒント、いくつかの小さな問題はプログラムには影響しません。構文解析エラーは、プロジェクトが定義されていない場合によく発生します |
E_PARSE | 。解析エラーはパーサーによってのみ生成されます。 |
E_ALL | すべてのエラー |
E_STRICT | コードの最高の相互運用性と上位互換性を確保するために、PHP によるコード変更の提案を有効にします。 |
E_DEPRECATED | 有効にすると、将来のバージョンで正しく動作しなくなる可能性があるコードについて警告が表示されます。 |
上記のタイプの中で:
エラーが最も深刻であり、解決する必要があります。そうしないと、プログラムは実行を続行できません。
警告も非常に重要です。トングも解決しなければなりません。明らかに意図的なものであれば、対処する必要はありません。
注意 無視しても構いません。しかし、一部の企業では、プロジェクトの基準が特に高くなります。また、高水準の要件を伴うプロジェクトでも解決する必要があります。通知はPHPの実行効率に影響を与えるためです。通常、関数が未定義の場合などに発生します。
解析エラーは、解決する必要がある文法エラーとタイプミスを指します
は、すべてのタイプのすべてのエラーを表します
[レベルエラーのタイプを理解する] これらの 3 つのタイプ以外にも、理解する必要があるエラー項目があります:
エラーの種類 | エラーの説明 |
---|---|
E_CORE_ERROR | PHPの初期化起動プロセス中に発生した致命的なエラー。このエラーは E_ERROR に似ていますが、PHP エンジン コアによって生成される警告 (致命的ではないエラー) です。 E_WARNING に似ていますが、PHP エンジン コアによって生成されます。 |
E_COMPILE_ERROR | 致命的なコンパイル時エラー。 E_ERROR に似ていますが、Zend スクリプト エンジンによって生成されます。 |
E_COMPILE_WARNING | コンパイル時間の警告 (致命的ではないエラー)。 E_WARNING に似ていますが、Zend スクリプト エンジンによって生成されます |
E_USER_ERROR | ユーザー定義のエラー |
E_USER_WARNING | ユーザー定義の警告 |
E_USER_NOTICE | r 定義のヒント |
E_USER_DEPRECATED | 出力が低いユーザーに対する警告メッセージ。 E_DEPRECATED と似ていますが、コード内で PHP 関数trigger_error()を使用してユーザーによって生成されます。 |
E_RECOVERABLE_ERROR | 捕捉される可能性のある致命的なエラー。これは、潜在的に危険なエラーが発生したが、PHP エンジンが不安定になる原因ではなかったことを示します。 |
error_reporting レポートエラータイプ error_reporting はエラーレポートを指します。 php.iniにもそのようなパラメータがあります。このパラメータ。 PHP エンジンが記録、レポート、表示するエラーのタイプを決定します。 1. php.ini の error_reporting パラメーター。 error_reporting パラメータが 0 に設定されている場合。 PHP エンジン全体のエラーは表示、出力、または記録されません。次の章で説明するログには記録されません。 すべてのエラーを表示したい場合は、次のように記述できます: error_reporting = E_ALLプロンプトを除外してすべてのエラーを表示したい場合は、このパラメータを次のように記述できます: error_reporting = E_ALL & ~ E_NOTICEすべてのエラーを表示しますが、ヒント、互換性、および将来の互換性は除外されます。次のように記述できます: error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 2. 場合によっては、php.ini ファイルを操作する権限がない場合があります。操作したい場合はどうすればよいですか?エラー報告を制御しますか? xxxx.php ファイルの実行の開始時に、error_reporting() 関数を使用して目標を達成できます。 デモコードは次のとおりです:<?php //关闭了所有的错误显示 error_reporting(0); //显示所有错误 //error_reporting(E_ALL); //显示所有错误,但不显示提示 //error_reporting(E_ALL & ~ E_NOTICE); ?>上記のコードを試して、意図的に間違ったコードを書いていないか確認してください。指定されたエラーが現在のファイルに表示されるかどうか。 [知識ポイントを拡張して理解する]: @ 記号は、以前に学習したエラーを表示しない単一行です。@ 記号は使用しないか、控えめに使用してください。 存在しないファイルを読み込んでみましょう。この PHP コードは実装プロセスを示しています:<?php //读取一个不存在的adsaf.txt文件,用@符抑制错误 @$fp = fopen('adsaf.txt','r'); ?>@ シンボルの PHP カーネルでの実装プロセスは次のとおりです。 学び続ける ||
<?php
//关闭错误
error_reporting(0);
//读取一个不存在的文件,显示错误
//显示错误
error_reporting(E_ALL & ~ E_NOTICE);
?>
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜
このコースを視聴した生徒はこちらも学んでいます |