PHPで一時的にエラーを表示する方法

こんにちは。 私はさくらVPS2Gプランで開発をしているのですが、 デフォルトだとphp_iniファイルでdisplay_errorsがOFFになっているようです。 セキュリティ的にこちらのほうが好ましいのですが、 エラー潰しをしている時に何も出力してくれないのは、時間効率があまり良くありません。 一時的で良いのでエラー出せないかな? ローカルで動作させてからアップロードしろよ、という話なのですが、 今回はphpの関数ini_setを用いて一時的にエラーを出力する方法を残します。

ini_set

string ini_set ( string $varname , string $newvalue )
指定した設定オプションの値を設定します。
設定オプションは、スクリプトの実行中は新しい値を保持し、スクリプト終了時に元の値へ戻されます。

PHP: ini_set – Manual

と公式リファレンスにあるので、これで変更してみましょう。

エラーを出力しない場合のサンプル

まずは動かないサンプルを書きます。

<?php

require_once("XXX.php"); //存在しないファイル ?>;

これをブラウザで表示しようとすると、下の画像のような画面になります。

2013010

エラーを出力するサンプル

このスクリプトの何処にエラーが出てるのかを出力してみます。

<?php

ini_set('display_errors', 1);
require_once("XXX.php"); //存在しないファイル ?>;

ini_setの1行を追加してブラウザを開いてみます。 すると、下の画像のようにエラーが出力されます!

2013010

※注意 ただし、Parse error(多くの場合文法ミス)だとプログラム自体が実行できないので、 ini_setも当然実行されず。。 実行前エラーは表示できません。 そこは目勘を鍛えて発見しましょう。