PHP のデフォルトのエラー出力設定は、php.ini
の中で以下のように定義されています。
error_reporting = E_ALL & ~E_NOTICE
display_errors = On
error_reporting
はエラーの出力レベルを示しており、次のような値を指定できます。
E_PARSE
– 構文エラー(実行前にチェックされる)E_ERROR
– 実行時の致命的エラーE_WARNING
– 実行時の警告(重要)E_NOTICE
– 実行時の警告E_DEPRECATED
– 廃止予定の文法、関数が使用されている (PHP 5.3)E_STRICT
– 非推奨な記述がある(コンパイル時に発生するものもあり)上記に加えて、E_ALL
が用意されており、これを指定すると、基本的に全てのチェックが行われるようになります。
ただし、E_STRICT
だけは E_ALL
に含まれていないため、E_STRICT
レベルの警告を表示する場合は、E_ALL | E_STRICT
と指定する必要があります。
; 本番環境(E_NOTICE, E_DEPRECATED, E_STRICT 以外を表示)
error_reporting = E_ALL ^ E_NOTICE ^ E_DEPRECATED
; 開発環境(全て表示)
error_reporting = E_ALL | E_STRICT
PHP コード内で動的にエラー出力設定を変更するには、error_reporting()
関数でエラーレベルを設定し、ini_set()
関数でエラー表示の有効無効を切り替えます。
<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 'On');