出力する PHP エラーの種類を設定する

# error_reporting

(PHP 4, PHP 5, PHP 7)

error_reporting — 出力する PHP エラーの種類を設定する

### 説明

error_reporting ([ int `$level` ] ) : int

error_reporting() 関数は、 error_reporting ディレクティブを 実行時に設定します。PHP には多くのエラーレベルがあり、 この関数によりスクリプトの持続時間(実行時間)のレベルが設定されます。 オプションの `level` を指定しなかった場合は、 error_reporting() は単に現在のエラーレベルを返します。

### パラメータ

`level`

  新しい error_reporting レベル。ビットマスクまたは名前つき定数のどちらかです。将来の バージョンとの互換性を保証するために、名前つき定数の使用が 強く推奨されています。エラーレベルが追加されると、整数の幅は増加します。 そのため、以前の整数を使用するエラーレベルは常に期待通りに動作するとは 限りません。

  利用可能なエラーレベル定数とその実際の意味は、 定義済みの定数に 記述されています。

### 返り値

変更前の error_reporting レベルを返します。`level` パラメータを指定しなかった場合は、現在のレベルを返します。

### 変更履歴

バージョン | 説明
--- | ---
5.4.0 | `E_STRICT` が `E_ALL` に含まれるようになりました。
5.3.0 | `E_DEPRECATED` と `E_USER_DEPRECATED` が追加されました。
5.2.0 | `E_RECOVERABLE_ERROR` が追加されました。
5.0.0 | `E_STRICT` が追加されました (これは `E_ALL` には含まれません)。

### 例

例1 error_reporting() の例

`<?php
// 全てのエラー出力をオフにする
error_reporting(0);
// 単純な実行時エラーを表示する
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// E_NOTICE を表示させるのもおすすめ（初期化されていない
// 変数、変数名のスペルミスなど…）
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// E_NOTICE 以外の全てのエラーを表示する
error_reporting(E_ALL & ~E_NOTICE);
// 全ての PHP エラーを表示する (Changelog を参照ください)
error_reporting(E_ALL);
// 全ての PHP エラーを表示する
error_reporting(-1);
// error_reporting(E_ALL); と同じ
ini_set('error_reporting', E_ALL);
?>`

### 注意

警告

ほとんどの `E_STRICT` レベルのエラーは スクリプトのコンパイル時に発生します。そのため、 error_reporting で `E_STRICT` を含むように設定されている環境では これらのエラーを検出できません (逆も同様です)。

ヒント

値に -1 を指定すると、仮に将来のバージョンの PHP で新しいレベルと定数が追加されたとしてもすべてのエラーを表示するようになります。 `E_ALL` 定数も、PHP 5.4 以降これと同じ挙動になります。

### 参考

- display_errors ディレクティブ
- html_errors ディレクティブ
- xmlrpc_errors ディレクティブ
- ini_set() - 設定オプションの値を設定する