これが私のコードです:
echo 'foo';
error_reporting(E_ALL);
echo 'this line doesnt end in a semi colon'
echo 'i should get an error here';
これを実行してもエラーは発生しません。
これがどうなるかわからない?
これが私のコードです:
echo 'foo';
error_reporting(E_ALL);
echo 'this line doesnt end in a semi colon'
echo 'i should get an error here';
これを実行してもエラーは発生しません。
これがどうなるかわからない?
ini_set('display_errors', 1);
ただし、構文エラーのあるファイルでこれを行うと、実行されないため、機能しないことに注意してください。php.ini(本番サーバーには推奨されません)でこれをtrueに設定することもできます。また、Apacheを使用する場合は、.htaccessで次のコマンドを使用して設定することもできます。
php_flag display_errors 1
error_reportingディレクティブは、画面にエラーメッセージを表示するのに役立ちません。どこにではなく、どのエラーを表示するかは責任があります。
PHPがApacheモジュールとして実行されている場合(ほとんどの場合、実行されます)、.htaccess
ファイルに次の行を追加します。
php_value display_errors 1
本番環境に切り替える場合は、次のように変更します
php_value display_errors 0
php_value log_errors 1
エラーログでそれらを監視します。
シャットダウンフック、エラー処理関数、またはグローバル例外キャッチャーを実行していますか?
大規模なフレームワークでは、構文エラーがおかしくなる可能性があります:)