PHP エラー処理エラー報告レベル
エラーレポートレベル
エラータイプ
表示される最も一般的なエラーのスクリーンショット。この本はそれらを要約するのに役立ちます:
[マスターレベルエラータイプ] 最も一般的に使用されるエラーを3つのタイプに分けました:
エラーの種類 | 説明 |
---|---|
E_ERROR | エラー、ファイルが直接中斷されました |
E_WARNING | 警告、問題は深刻です。ただし、下向きに実行され続けます |
E_NOTICE | ヒント、いくつかの小さな問題はプログラムには影響しません。構(gòu)文解析エラーは、プロジェクトが定義されていない場合によく発生します |
E_PARSE | 。解析エラーはパーサーによってのみ生成されます。 |
E_ALL | すべてのエラー |
E_STRICT | コードの最高の相互運用性と上位互換性を確保するために、PHP によるコード変更の提案を有効にします。 |
E_DEPRECATED | 有効にすると、將來のバージョンで正しく動作しなくなる可能性があるコードについて警告が表示されます。 |
上記のタイプの中で:
エラーが最も深刻であり、解決する必要があります。そうしないと、プログラムは実行を続行できません。
警告も非常に重要です。トングも解決しなければなりません。明らかに意図的なものであれば、対処する必要はありません。
注意 無視しても構(gòu)いません。しかし、一部の企業(yè)では、プロジェクトの基準(zhǔn)が特に高くなります。また、高水準(zhǔn)の要件を伴うプロジェクトでも解決する必要があります。通知はPHPの実行効率に影響を與えるためです。通常、関數(shù)が未定義の場合などに発生します。
解析エラーは、解決する必要がある文法エラーとタイプミスを指します
は、すべてのタイプのすべてのエラーを表します
[レベルエラーのタイプを理解する] これらの 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 と似ていますが、コード內(nèi)で PHP 関數(shù)trigger_error()を使用してユーザーによって生成されます。 |
E_RECOVERABLE_ERROR | 捕捉される可能性のある致命的なエラー。これは、潛在的に危険なエラーが発生したが、PHP エンジンが不安定になる原因ではなかったことを示します。 |
error_reporting レポートエラータイプ error_reporting はエラーレポートを指します。 php.iniにもそのようなパラメータがあります。このパラメータ。 PHP エンジンが記録、レポート、表示するエラーのタイプを決定します。 1. php.ini の error_reporting パラメーター。 error_reporting パラメータが 0 に設(shè)定されている場合。 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() 関數(shù)を使用して目標(biāo)を達(dá)成できます。 デモコードは次のとおりです:<?php //關(guān)閉了所有的錯誤顯示 error_reporting(0); //顯示所有錯誤 //error_reporting(E_ALL); //顯示所有錯誤,但不顯示提示 //error_reporting(E_ALL & ~ E_NOTICE); ?>上記のコードを試して、意図的に間違ったコードを書いていないか確認(rèn)してください。指定されたエラーが現(xiàn)在のファイルに表示されるかどうか。 [知識ポイントを拡張して理解する]: @ 記號は、以前に學(xué)習(xí)したエラーを表示しない単一行です。@ 記號は使用しないか、控えめに使用してください。 存在しないファイルを読み込んでみましょう。この PHP コードは実裝プロセスを示しています:<?php //讀取一個不存在的adsaf.txt文件,用@符抑制錯誤 @$fp = fopen('adsaf.txt','r'); ?>@ シンボルの PHP カーネルでの実裝プロセスは次のとおりです。 學(xué)び続ける ||
<?php
//關(guān)閉錯誤
error_reporting(0);
//讀取一個不存在的文件,顯示錯誤
//顯示錯誤
error_reporting(E_ALL & ~ E_NOTICE);
?>
現(xiàn)時點ではコースウェアはダウンロードできません?,F(xiàn)在スタッフが整理中です。今後もこのコースにもっと注目してください?
このコースを視聴した生徒はこちらも學(xué)んでいます
|