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アプリケーション内でこれを行う方法はありませんか?