error_reporting
| 解説 | 出力するPHPエラーの種類を設定 |
|---|---|
| 書式 | int error_reporting( [ int level ] ) |
int error_reporting( [ int エラー報告レベル ] ) |
|
| 引数 |
level
エラー報告レベル
|
| 返値 | 元のエラー報告レベル(引数あり)/現在のエラー報告レベル(引数なし) |
error_reporting()はPHPのエラー報告レベルを設定し、元の設定を返します。
引数を指定した場合は、元のエラー報告レベルを返します。省略した場合は、現在のエラー報告レベルを返します。
levelエラー報告レベル設定したいエラー報告レベルを指定します。省略した場合はエラー報告レベルの変更は行わず、現在のエラー報告レベルを返します。
デフォルトの設定は 2039 つまり E_ALL~E_NOTICE(E_NOTICE は含まれない)です。
引数を指定する場合はエラー報告レベルを設定します。指定できる値はエラー定数またはビット値です。
引数を複数指定するには論理演算を行います。数値で指定する場合はビット値を足した値を設定する事も可能ですが、定数名を使う方が推奨されています。
E_STRICTはPHP5で追加された定数です。E_ALLには含まれないので、E_ALLを使った場合でもE_STRICTは別に宣言する必要がありますので注意して下さい。
参考関数
- ini_set() ---- 設定オプションの値を設定する
エラー定数とビット値一覧
error_reporting()で使用するエラー定数とビット値の一覧です。
| 定数名 | ビット値 |
|---|---|
E_ERROR |
1 |
E_WARNING |
2 |
E_PARSE |
4 |
E_NOTICE |
8 |
E_CORE_ERROR |
16 |
E_CORE_WARNING |
32 |
E_COMPILE_ERROR |
64 |
E_COMPILE_WARNING |
128 |
E_USER_ERROR |
256 |
E_USER_WARNING |
512 |
E_USER_NOTICE |
1024 |
E_ALL |
2047 |
E_STRICT |
2048 |
サンプルスクリプト
簡単な利用例
- // この構文はNoticeエラーを発生します。
- error_reporting(E_NOTICE);
- define("APPLE","りんご");
- echo apple;
出力結果
Notice: Use of undefined constant apple - assumed 'apple' in (ファイルパスとエラー行数)
上記のスクリプトは、デフォルトの設定ではエラーが表示されないNOTICEエラー構文です。この構文は軽度のエラーでデフォルトの設定ではエラーが出力されません。そこでエラーの報告レベルを変えて軽度のエラーも出力するようにします。
エラー報告レベルを変えると、「不確定の定数(constant)が定義されました」のエラーが出力されるようになります。軽度のエラーを出力するように設定しておくとデバッグに役立ちます。
error_reporting()のエラーレベル設定例
- // 現在のエラー報告レベルを返す
- echo error_reporting();
- // すべてのエラーを出力する
- error_reporting(E_ALL);
- // すべてのエラーを出力しないようにする
- error_reporting(0);
- // 複数指定の場合(ビット値では15となる)
- error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);





