PHPで出力したエラーを設定することができます。その方法を紹介します。
抜粋:
PHPで出力したエラーを設定することができます。その方法を紹介します。
error_reporting
error_reportingにはエラー出力レベルを設定します。
ここに設定されたエラーの種類が出力できます。
php.iniでも設定できますが、PHP実行時にerror_reporting()関数で設定することができます。
エラーレベルは定数で定義済みなので、その定数を使って設定します。
以下が定数の一覧表です。
エラーレベルの定数
定数 | 値 | エラーレベル |
E_ERROR | 1 | 実行時の重大なエラー(復帰できないエラー) |
E_WARNING | 2 | 実行時の警告(致命的ではないエラー) |
E_PARSE | 4 | コンパイル時のパースエラー |
E_NOTICE | 8 | 実行時の注意(エラーを発しうる状況に遭遇) |
E_CORE_ERROR | 16 | PHPの初期始動時点での致命的なエラー |
E_CORE_WARNING | 32 | PHPの初期始動時点での警告(致命的ではない) |
E_COMPILE_ERROR | 64 | コンパイル時の致命的なエラー |
E_COMPILE_WARNING | 128 | コンパイル時の警告(致命的ではない) |
E_USER_ERROR | 256 | trigger_error()関数で発行されるE_ERROR(重大エラー) |
E_USER_WARNING | 512 | trigger_error()関数で発行されるE_WARNING(警告) |
E_USER_NOTICE | 1024 | trigger_error()関数で発行されるE_NOTICE(注意) |
E_STRICT | 2048 | コードの互換性を維持するためにPHPがコードの変更を提案 |
E_RECOVERABLE_ERROR | 4096 | キャッチできる致命的なエラー(PHP 5.2.0 以上) |
E_DEPRECATED | 8192 | 将来のバージョンで動作しなくなるコードの警告(PHP 5.3.0 以上) |
E_USER_DEPRECATED | 16384 | trigger_error()関数で発行されるE_DEPRECATED(警告) |
E_ALL(PHP 5.2.0未満) | 2047 | サポートされる全てのエラーと警告(以降に追加されたものを除く) |
E_ALL(PHP 5.2.x) | 6143 | E_RECOVERABLE_ERRORが追加 |
E_ALL(PHP 5.3.x) | 30719 | E_DEPRECATED と E_USER_DEPRECATED が追加 |
E_ALL(PHP 5.4.x) | 32767 | E_STRICT が 追加 |
設定方法
ここではerror_reporting()関数を使って設定する方法を説明します。
書式
error_reporting([ int $level ])
関数の引数にエラーレベル定数を指定します。
引数に0を指定するとすべてのエラー出力を停止します。
例)
// 全てのエラー出力をオフにする
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);
またini_set()関数を使ってエラーレベルを設定することもできます。
書式
ini_set( string $varname, string $newvalue )
第1引数に設定オプション、第2引数に値を設定します。
例)
// error_reporting(E_ALL); と同じ
ini_set('error_reporting', E_ALL);
参照
公式サイト:https://www.php.net/manual/ja/function.error-reporting.php