デバッグし易くしよう! 2: PHPのエラー表示レベルを変更 error_reporting を使う
Step2 PHPのエラー表示レベルをerror_reporting($level)で変更
PHPでは、error_reporting($level) という関数を利用すると、引数である$levelに設定する値により、どのレベルのエラー、警告までを表示するかを制御することができます。
詳しくはPHPマニュアルをご覧頂けるとよいのですが、
level | 表示対象 | 補足説明 |
---|---|---|
E_ALL ^ E_NOTICE | 変数、変数名のスペルミスなど以外の全てのエラーを表示 | 通常php.iniのデフォルト設定 |
E_ALL | 全てのPHPエラーを表示 | |
0 | 全てのPHPエラーを表示しない |
例えば、デフォルトの状態で、プログラムの8行目の最後の”;”をわざとはずすと
致命的エラー(Parseエラー)となるので下のようにエラーが表示され実行がそこで終了します。
Parse error: syntax error, unexpected T_VARIABLE in C:\(中略)\test_update_fopen.php on line 8
開発段階では、”E_ALL”に設定しておくと色々教えてくれるので便利だと思います。
<?php error_reporting(E_ALL); ?>
(余談)ちなみに自分が利用しているさくらインターネットではerror_reporting(E_ALL);を設定しても何も表示されません少なくともPHP5の場合。php.iniを編集すれば表示できるようですが、本番環境で色々表示されるのも厄介なのでローカルでデバッグできれば、まあ、いいやと自分は、放置しています
自分のローカル・テスト環境で、PHPのエラーは取り去っておきたいものです。