F 多くの場合、PHP ファイルには、大きな白いページが出力されるなど、トラブルシューティングが非常に困難なエラーがいくつか含まれており、エラーを修正する方法はありません。 PHP のエラー レベルによって致命的ではないエラーがブロックされ、エラー プロンプトが表示されなくなる可能性があります。したがって、PHP のエラー レベルを理解し、慣れることが新しいデバッグ方法になる可能性があります。
php.ini のエラー報告レベル デフォルトでは、PHP エラー報告レベルは E_NOTICE です。E_ALL は、致命的ではないすべてのエラーを報告することを意味します。これらのエラーは、大きな問題 (未定義の変数の使用など) を引き起こす可能性があるためです。
アラートとコーディング標準化警告を除くすべてのエラーを表示します。
エラーレポートはビットフィールドです。数値を合計して、必要なレベルのエラー レポートを得ることができます。
E_ALL - すべてのエラーと警告 (E_STRICT を除く)
E_ERROR - 致命的な実行時エラー
E_WARNING - 実行時警告 (致命的ではないエラー)
E_PARSE - コンパイル時の解析エラー
E_NOTICE - 実行 (これらはよく発生します)コード内のバグが原因である場合もありますが、意図的な動作によって引き起こされる場合もあります。)
E_STRICT - 最適な相互運用性と上位互換性を確保するためにコードを変更する方法を PHP が推奨できるようにするコーディング標準化警告。
E_CORE_ERROR - PHP 起動の初期化プロセス中の致命的なエラー
E_CORE_WARNING - PHP の起動初期化プロセス中の警告 (致命的ではないエラー)
E_COMPILE_ERROR - コンパイル時の致命的なエラー
E_COMPILE_WARNING - コンパイル時の警告 (致命的ではないエラー) 性的エラー)
E_USER_ERROR - ユーザー定義のエラー メッセージ
E_USER_WARNING - ユーザー定義の警告メッセージ
E_USER_NOTICE - ユーザー定義のリマインダー メッセージ
E_ALL | E_STRICT に設定すると、すべてのエラー メッセージを記録することになり、多くのエラーが発生する可能性があります。 Web サイトに表示されるエラー コードの数は、コードを最適化できるプログラマにとっては良いことであると言えますが、致命的ではないエラーは PHP の動作に影響を与えません。負荷が増加すると、通常、Web サイトのプロセス (IIS アプリケーション プールなど) の負荷も増加します。
---------------------------------------------- --- --------------------------------------------------- --- --
PHP でのエラー レポートの調整
発生したエラーを表示するように PHP を設定したら、エラー レポートのレベルを調整することができます。 PHP インストール全体またはスタンドアロン スクリプトは、さまざまなエラー レベルを報告または無視するように設定できます。表 7-1 には、ほとんどのレベルがリストされていますが、通常は次の 3 つのカテゴリのいずれかに分類されます。
l 注意、スクリプトの実行を妨げるものではなく、必ずしも問題になるとは限りません。
l 警告 (警告)。問題を示していますが、スクリプトの実行は妨げられません。
l エラー (エラー)。スクリプトの続行を妨げます (スクリプトの実行を根本的に妨げる一般的な解析エラーを含みます)。
表 7-1 PHP エラー報告設定。error_reporting() 関数または php.ini ファイルで使用されます。 E_ALL の値は古いバージョンの PHP とは異なり、E_STRICT が含まれていないことに注意してください (ただし、PHP 6 には存在します)。スクリプト)
2 | E_WARNING | 実行時警告 (致命的ではないエラー) |
(続き) |
| エディション番号
| 頻繁に
レポート |
| 4
| E_PARSE
解析エラー
8 | E_NOTICE | 注 (問題がある場合と問題がない場合があります) |
256 | E_USER_ERROR | trigger_error() 関数によって生成されるユーザー生成のエラー メッセージ |
512 | E_USER_WARNING | ユーザーが生成した警告、trigger_error( ) 関数 |
1024 | E_USER_NOTICE | ユーザー生成のメモ、trigger_error() によって生成 関数生成 |
2048 | E_STRICT | 互換性と相互運用性 |
8191 | E_ALL | すべてのエラー、警告、提案 |
|