PHPでエラー表示をする方法!エラーレベルの意味や設定方法も解説

HTMLやCSSだと、多少おかしな記述をしても表示されてしまいます。そのため、間違いにも気付きにくいです。

ですが、PHPの場合は設定に合わせてはっきりとエラーを表示してくれます。エラーが表示されれば、間違いにも対処しやすくなりますね。

そこで今回は、

  • ・PHPでエラーを表示する方法
  • ・PHPで表示するエラーレベルを設定する方法
  • ・PHPのエラーレベルの意味

をご紹介します。

PHPのエラーを表示・非表示する方法

PHPのエラーを表示させるにはdisplay_errorsを使います。

PHPファイルごとに設定する

拡張子が.phpのファイルに直接以下の記述することで、そのファイルにだけエラーを表示させることができます。

エラーを表示する

または

 

エラーを非表示にする

または

php.iniで設定する

php.iniファイルにはdisplay_errorsという項目があります。

デフォルトではOffになっているので、Onに変更するとエラーが表示されるようになります。

エラーを表示する

 

エラーを非表示にする

ただしphp.iniファイルを変更すると、同一サーバー上の全てのファイルに影響がでるので注意が必要です。

また、設定を変更した後にWEBサーバーを再起動する必要があります。

.htaccessまたはhttpd.confで設定する

.htaccessまたはhttpd.confで設定することも可能です。以下の1行を追加するだけでOKです。

エラーを表示する

 

エラーを非表示にする

PHPで表示するエラーレベルの設定をする

PHPで表示するエラーレベルを変更するには、error_reportingを使います。

PHPファイルごとに設定する

PHPファイルごとに設定する場合、以下のどちらかの方法で設定できます。

または

上記の場合、E_ALLと設定しているため全てのエラーが表示されます。E_ALLの部分を変更することで、表示するエラーレベルが設定できます。

php.iniで設定する

php.iniファイルには、error_reportingという項目があります。ここでエラー表示レベルを設定することができます。

エラーを表示させた時と同様に、同一サーバー上の全てのファイルに影響がでるので注意が必要です。

また、設定を変更した後にWEBサーバーを再起動する必要があります。

.htaccessまたはhttpd.confで設定する

.htaccessまたはhttpd.confで設定する場合は注意が必要です。他の方法と違い、E_ALLのような定数では設定できません。

以下のように、数値で指定する必要があります。

上記の場合、E_ALLと同じで全てのエラーを表示するという意味になります。詳しくは次の項目をご覧ください。

PHPのエラー表示レベルの意味

続いて、PHPのエラー表示レベルの意味をご紹介します。

定数 説明
 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_USER_WARNING 512 ユーザーによってtrigger_error()関数で発行される警告。
 E_USER_NOTICE 1024 ユーザーによってtrigger_error()関数で発行される注意。
 E_STRICT  2048  互換性を維持するために非推奨とされる記述。
 E_RECOVERABLE_ERROR  4096 キャッチできる致命的なエラー。
 E_DEPRECATED  8192 将来のバージョンで廃止される非推奨のコードへの警告。
 E_USER_DEPRECATED  16384 ユーザーによってtrigger_error()関数で発行された将来的に廃止される非推奨コードへの警告。
 E_ALL  32767 サポートされる全てのエラーと警告。
PHPのバージョンによって異なる。
PHP5.3.xでは「30719」、PHP5.2.xでは「6143」、それより前のバージョンでは「2047」。

まとめ

以上、PHPでのエラー表示について

  • ・PHPでエラーを表示する方法3つ
  • ・PHPで表示するエラーレベルを設定する方法3つ
  • ・PHPのエラーレベルの意味

をご紹介しました。エラーはプログラミングにつきものです。エラー表示をうまく使いこなして、プログラミング学習を進めましょう!