error_reporting

(PHP 3, PHP 4, PHP 5)

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

説明

int error_reporting ( [int level] )

error_reporting() 関数は、 error_reporting ディレクティブを 実行時に設定します。PHP には多くのエラーレベルがあり、 この関数によりスクリプトの持続時間(実行時間)のレベルが設定されます。

パラメータ

level

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

利用可能なエラーレベル定数の一覧を以下に示します。 これらのエラーの実際の意味は、 定義済みの定数に 記述されています。

表 1. error_reporting() レベル定数とビット値

定数
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT

返り値

変更前の error_reporting レベルを返します。

例 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 以外の全てのエラーを表示する
// これは php.ini で設定されているデフォルト値
error_reporting(E_ALL ^ E_NOTICE);

// 全ての PHP エラーを表示する(ビット 63 は PHP 3 で利用される)
error_reporting(E_ALL);

// error_reporting(E_ALL); と同じ
ini_set('error_reporting', E_ALL);

?>

注意

警告

PHP > 5.0.0 では、値 2048 を有する E_STRICT が利用可能です。E_ALL には、エラーレベル E_STRICT は含まれません。 ほとんどの E_STRICT レベルのエラーはスクリプトの コンパイル時に発生します。そのため、 error_reportingE_STRICT を含むように設定されている環境では これらのエラーを検出できません。

参考

display_errors ディレクティブ
ini_set()