7

FastCGIを使用してLighttpdWebサーバーを実行していますが、WebサーバーがPHP解析エラーを出力しません。

私のphp.iniファイルには次の設定があります。

error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = On
html_errors = On

次のようにPHPスクリプトで開発用のエラー出力を有効にします(他の環境では冗長性があります)。

error_reporting( E_ALL );
ini_set( 'display_errors', 1 );
ini_set( 'html_errors', 'On' );

ほとんどのエラーは正常に出力されます。エラーの解析は行いません。以下は、解析エラーをスローするサンプルコードです。エラーはLighttpdWebサーバーによって出力されませんが、FastCGIを使用していないため、コマンドラインから実行された場合に発生します。(欠落している連結演算子に注意してください):

<?php echo 'foo' 'bar'; ?>

php.iniで設定display_errors = Onした場合、FastCGIとLighttpdで出力されたエラーを正しく解析しますが、を使用してPHPスクリプト内でエラーをオフにできないことを発見しましini_set( 'display_errors', 0 )た。

開発時にアプリケーション内でこれらを表示できるようにし、php.iniの構成を変更せずに本番環境でこれらをオフにできるようにしたいと思います。FastCGIを使用しているときに、PHPアプリケーション内でこれを行う方法はありませんか?

4

2 に答える 2

1

この回答をくれたジェイクに感謝します。これは本当に役に立ちました。ただし、 .user.ini ファイルの作成とコード行の追加がうまくいかなかったことを追加したいと思います。

代わりに、次の行を .user.ini ファイルに追加しました。

error_reporting = E_ALL
display_errors = On
html_errors = On
display_startup_errors = On
log_errors = On

この後、エラーを確認して問題を解決することができました。

于 2014-06-06T21:27:00.823 に答える