PHPで開発するとき運用するときのerror_reportingのお勧めの設定を紹介します。
PHPのerror_reporting関数を使うと、出力するエラーの種類を設定することができます。
開発時の設定
開発時には、すべてのエラーを表示するようにします。
そうすることで問題をいち早く見つけることができます。
php.ini
error_reporting = E_ALL | E_STRICT
.htaccess
※.htaccessに記述する時は定数は使用できません。値を直接記述します。
# PHP 5.2.xのとき
php_value error_reporting 8191
php
<?PHP
//開発時はすべてのエラーを表示する
error_reporting(E_ALL | E_STRICT);
指定している定数の意味は次の通りです。(PHP: 定義済み定数 – Manual)
- E_ALL
サポートされる全てのエラーと警告。 E_STRICTレベルのエラーは除く。
値 30719(PHP 5.3.x)、6143(PHP 5.2.x)、2047(それ以前) -
E_STRICT
コードの相互運用性や互換性を維持するために PHP がコードの変更を提案する。(PHP 5より)
値 2048
運用時の設定
運用時には、実行中に発生したプログラムのエラーを表示するようにします。
php.ini
error_reporting = E_ALL ^ E_NOTICE ^ E_DEPRECATED
.htaccess
※.htaccessに記述する時は定数は使用できません。値を直接記述します。
# PHP 5.2.xのとき
php_value error_reporting 6135
php
<?PHP
//開発時は実行中に発生したのエラーを表示する
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
指定している定数の意味は次の通り。(PHP: 定義済み定数 – Manual)
- E_ALL
サポートされる全てのエラーと警告。 E_STRICTレベルのエラーは除く。
値 30719(PHP 5.3.x)、6143(PHP 5.2.x)、2047(それ以前) -
E_NOTICE
実行時の警告。エラーを発しうる状況に遭遇したことを示す。 ただし通常のスクリプト実行の場合にもこの警告を発することがありうる。
値 8 -
E_DEPRECATED
実行時の注意。これを有効にすると、将来のバージョンで動作しなくなるコードについての警告を受け取ることができる。(PHP 5.3.0より)
値 8192
関連項目
- display_errors
エラーをHTML出力の一部として画面に出力するかどうかを定義します。 - log_errors
エラーメッセージを、サーバーのエラーログまたはerror_logに記録するかどうかを指定 します。このオプションはサーバーに依存します。 - error_log
スクリプトエラーが記録されるファイル名です。 ファイルはウェブサーバユーザで書き込めなければなりません。
Pingback: セキュリティ設定 | NotePress