PHPで開発するとき運用するときのerror_reportingの設定

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
    スクリプトエラーが記録されるファイル名です。 ファイルはウェブサーバユーザで書き込めなければなりません。

コメント

  1. Pingback: セキュリティ設定 | NotePress

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください