3

これが私のコードです:

echo 'foo';

error_reporting(E_ALL);

echo 'this line doesnt end in a semi colon'

echo 'i should get an error here';

これを実行してもエラーは発生しません。

これがどうなるかわからない?

4

3 に答える 3

12
ini_set('display_errors', 1);

ただし、構文エラーのあるファイルでこれを行うと、実行されないため、機能しないことに注意してください。php.ini(本番サーバーには推奨されません)でこれをtrueに設定することもできます。また、Apacheを使用する場合は、.htaccessで次のコマンドを使用して設定することもできます。

php_flag display_errors 1
于 2010-09-30T13:49:26.930 に答える
2

error_reportingディレクティブは、画面にエラーメッセージを表示するのに役立ちません。どこにではなく、どのエラーを表示するかは責任があります。

PHPがApacheモジュールとして実行されている場合(ほとんどの場合、実行されます)、.htaccessファイルに次の行を追加します。

php_value display_errors 1

本番環境に切り替える場合は、次のように変更します

php_value display_errors 0
php_value log_errors 1

エラーログでそれらを監視します。

于 2010-09-30T13:59:22.910 に答える
0

シャットダウンフック、エラー処理関数、またはグローバル例外キャッチャーを実行していますか?

大規模なフレームワークでは、構文エラーがおかしくなる可能性があります:)

于 2010-09-30T13:51:22.260 に答える