エラー処理エラー処理/ログ記録関数
- 定義されているエラー
- error_reporting〔出力する PHP エラーの種類を設定〕
定義されているエラー
unknown
ビット値 | 定数 | 型 | 説明 | 注記 |
---|---|---|---|---|
1 | E_ERROR | integer | 重大な実行時エラー 復帰できないエラーのため、スクリプトの実行は中断される。 | |
2 | E_WARNING | integer | 実行時の警告 致命的なエラーではないので、スクリプトの実行は中断されない。 | |
4 | E_PARSE | integer | 文法エラー PHPの文法に間違いがあることを示す。 | |
8 | E_NOTICE | integer | 実行時の注意 エラーを発しうる状況に遭遇したことを示す。 ただし通常のスクリプト実行の場合にもこの警告を発する可能性がある。 | |
16 | E_CORE_ERROR | integer | PHPの初期始動時点での致命的なエラー E_ERRORと似ているがPHPのコアによって発行される点が異なる。 | PHP4~ |
32 | E_CORE_WARNING | integer | (致命的ではない)警告 PHPの初期始動時に発生する。E_WARNINGに似ているがPHPのコアによって発行される点が異なる。 | PHP4~ |
64 | E_COMPILE_ERROR | integer | コンパイル時の致命的なエラー E_ERRORに 似ているがZendスクリプティングエンジンによって発行される点が異なる。 | PHP4~ |
128 | E_COMPILE_WARNING | integer | コンパイル時の警告(致命的ではない) E_WARNINGに 似ているがZendスクリプティングエンジンによって発行される点が異なる。 | PHP4~ |
256 | E_USER_ERROR | integer | ユーザーによって発行されるエラーメッセージ E_ERROR に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が異なる。 | PHP4~ |
512 | E_USER_WARNING | integer | ユーザーによって発行される警告メッセージ E_WARNING に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が異なる。 | PHP4~ |
1024 | E_USER_NOTICE | integer | ユーザーによって発行される注意メッセージ E_NOTICEに に似ているがPHPコード上でtrigger_error()関数を 使用した場合に発行される点が異なる。 | PHP4~ |
2047 | E_ALL | integer | サポートされる全てのエラーと警告 E_STRICTレベルのエラーは除く。 | |
2048 | E_STRICT | integer | 実行時の注意 コードの相互運用性や互換性を維持するために PHPがコードの変更を提案する。 | PHP5~ |
error_reporting
出力する PHP エラーの種類を設定
unknown
int error_reporting ( [int $level] )
error_reportingディレクティブを実行時に設定します。 成功した場合、変更前のerror_reportingレベルを返します。 PHPには多くのエラーレベルがあり、この関数よりスクリプトの持続時間(実行時間)のレベルが設定されます。
オプション引数levelに新しいerror_reporting レベルを「ビット値」または「定数」で指定しますが、将来のバージョンとの互換性に備え、定数で指定することが推奨されています。
エラーレベルが追加されると、整数の幅は増加するため、以前の整数を使用するエラーレベルは期待通りの動作をするとは限りません。
<?
//全てのエラー出力をオフにする
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はPHP3で利用される)
error_reporting(E_ALL);
//error_reporting(E_ALL);と同じ
ini_set('error_reporting', E_ALL);
?>