特定の PHP スペースをテストしていたときに、そのエラー レベルが非常に敏感に設定されていることがわかりました。
宣言されていない変数や、実行に影響しないその他のものが、
if($name == "") のようなエラー メッセージを出力していました。 echo "name is empty";
?>
報告されるエラーは
Warning: Unknown variable: name in D:XXXXtest.php on line 1 です
この状況はよく発生しますが、php.ini の設定を変更することはできません。動的に使用されるエラー出力レベルを変更するメソッドです。
関数は
error_reporting です。
エラー情報レポートのレベルを設定します。
構文: int error_reporting(int [level]);
この関数は、エラー情報レポートのレベルを設定するために使用されます。パラメーター level は、以下の表を参照してください。
マスク値は名前を示します
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
E_NOTICE は、一般的な状況が記録されないことを示し、プログラムにエラー状況が発生した場合にのみ使用されます。存在しない変数にアクセスしようとしている場合、
または stat() 関数を呼び出して存在しないファイルを表示します。
E_WARNING は通常表示されますが、プログラムの実行は中断されません。これはデバッグに役立ちます。
例: 問題の正規表現を使用して ereg() を呼び出します。
E_ERROR は通常表示され、プログラムの実行も中断されます。これは、このマスクを使用してメモリ構成やその他のエラーを追跡できないことを意味します。
E_PARSE 文法からのエラーを解析します。
E_CORE_ERROR E_ERROR と似ていますが、PHP コアによって引き起こされるエラーは除外されます。
E_CORE_WARNING E_WARNING と似ていますが、PHP コア エラー警告は含まれません。
私の場合、問題を解決するために次の方法を採用しました。
error_reporting(E_ERROR|E_PARSE|E_CORE_ERROR|E_CORE_WARNING);