array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.error-reporting.php', 1 => 'error_reporting', ), 'up' => array ( 0 => 'ref.errorfunc.php', 1 => 'エラー処理関数', ), 'prev' => array ( 0 => 'function.error-log.php', 1 => 'error_log', ), 'next' => array ( 0 => 'function.restore-error-handler.php', 1 => 'restore_error_handler', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/errorfunc/functions/error-reporting.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
error_reporting — 出力する PHP エラーの種類を設定する
error_reporting() 関数は、
error_reporting ディレクティブを
実行時に設定します。PHP には多くのエラーレベルがあり、
この関数によりスクリプトの持続時間(実行時間)のレベルが設定されます。
オプションの error_level
を指定しなかった場合は、
error_reporting() は単に現在のエラーレベルを返します。
error_level
新しい error_reporting レベル。ビットマスクまたは名前つき定数のどちらかです。将来の バージョンとの互換性を保証するために、名前つき定数の使用が 強く推奨されています。エラーレベルが追加されると、整数の幅は増加します。 そのため、以前の整数を使用するエラーレベルは常に期待通りに動作するとは 限りません。
利用可能なエラーレベル定数とその実際の意味は、 定義済みの定数に 記述されています。
error_level
に変更される 前 の、
error_reporting レベルを返します。
注意: エラー制御演算子
@
は、エラーハンドリングの間にerror_level
を変更します。
バージョン | 説明 |
---|---|
8.0.0 |
error_level は、nullable になりました。
|
例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 エラーを表示する
error_reporting(E_ALL);
// 全ての PHP エラーを表示する
error_reporting(-1);
// error_reporting(E_ALL); と同じ
ini_set('error_reporting', E_ALL);
?>
値に -1
を指定すると、仮に将来のバージョンの PHP
で新しいレベルと定数が追加されたとしてもすべてのエラーを表示するようになります。
E_ALL
定数も、これと同じ挙動になります。