error_reporting
そふぃのPHP入門 >> PHP関数リファレンス >> エラー処理およびログ記録関数 >> error_reporting

error_reporting

解説 出力するPHPエラーの種類を設定
書式 int error_reporting( [ int level ] )
int error_reporting( [ int エラー報告レベル ] )
引数 level エラー報告レベル
返値 元のエラー報告レベル(引数あり)/現在のエラー報告レベル(引数なし)

PHPマニュアル:error_reporting error_reporting()

error_reporting()関数:概略解説

error_reporting()はPHPのエラー報告レベルを設定し、元の設定を返します。

error_reporting()関数:返り値解説

引数を指定した場合は、元のエラー報告レベルを返します。省略した場合は、現在のエラー報告レベルを返します。

error_reporting()関数:引数解説

levelエラー報告レベル

設定したいエラー報告レベルを指定します。省略した場合はエラー報告レベルの変更は行わず、現在のエラー報告レベルを返します。

デフォルトの設定は 2039 つまり E_ALL~E_NOTICE(E_NOTICE は含まれない)です。

引数を指定する場合はエラー報告レベルを設定します。指定できる値はエラー定数またはビット値です。

参考 エラー定数とビット値一覧

引数を複数指定するには論理演算を行います。数値で指定する場合はビット値を足した値を設定する事も可能ですが、定数名を使う方が推奨されています。

サンプル error_reporting()のエラーレベル設定例

error_reporting()関数:補足解説

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

サンプルスクリプト

簡単な利用例

  1. <?php
  2. // この構文はNoticeエラーを発生します。
  3. error_reporting(E_NOTICE);
  4. define("APPLE","りんご");
  5. echo apple;
  6. ?>

出力結果

Notice: Use of undefined constant apple - assumed 'apple' in (ファイルパスとエラー行数)

上記のスクリプトは、デフォルトの設定ではエラーが表示されないNOTICEエラー構文です。この構文は軽度のエラーでデフォルトの設定ではエラーが出力されません。そこでエラーの報告レベルを変えて軽度のエラーも出力するようにします。

エラー報告レベルを変えると、「不確定の定数(constant)が定義されました」のエラーが出力されるようになります。軽度のエラーを出力するように設定しておくとデバッグに役立ちます。

error_reporting()のエラーレベル設定例

  1. <?php
  2. // 現在のエラー報告レベルを返す
  3. echo error_reporting();
  4. // すべてのエラーを出力する
  5. error_reporting(E_ALL);
  6. // すべてのエラーを出力しないようにする
  7. error_reporting(0);
  8. // 複数指定の場合(ビット値では15となる)
  9. error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
  10. ?>