2011-07-14 7 views
8

404、403などのカスタムエラードキュメントと500のカスタムエラードキュメント用にApacheディレクティブを設定していますが、PHPでは致命的なエラーが発生するとapache 500レスポンスをトリガする代わりに空白のページが表示されます。空白のページではなく、エラーが発生した場合にApacheの500エラーページを表示するにはどうすればよいですか?

エラーの詳細などを表示する必要はありません。現在Apacheのerror_logsに正しく記録されているため、error_reportingやdisplay_errorsとは関係がありません。どちらも設定されています正しく

ここにいくつか同様の質問がありますが、私が必要とする回答は見つかりませんでした。基本的には、構文エラーのような場合は、空白のページではなく、apache 500のエラーページを見たいと思っています。これは、構文エラーが見つからないため、PHPで捕捉して処理できるものではありません。

ここに見られるようにこれは、PHP 5.2.4で修正さ/パッチが適用されているようです:http://www.mail-archive.com/[email protected]/msg28557.html

しかし、我々はPHP 5.2.17を使用していて、アップグレードは、現時点では実現不可能です。誰もPHPの構文/致命的なエラーのためにApacheで500のエラーを引き起こすように働く可能性のある解決策や回避策はありますか?

+0

PHP 5.2.17はPHP 5.2.4以降でリリースされました。 php.iniをチェックしましたか? –

+0

うーん、いいえ。 php.iniのどのオプションがこれを制御しているか知っていますか? –

+0

@KevinJhangiani、解決策は見つかりましたか? –

答えて

1

この方法がわからない場合:shutdown handlerを登録し、該当するページを表示してください。 致命的なエラーが発生するたびに、シャットダウンハンドラが呼び出されます。スクリプトの上にハンドラを登録することを確認してください。

+0

。私は、PHPをperl、javaなどと同様に振る舞わせる方法を探していて、PHPで起動されたものではなく、適切なApache 500エラーを提供します。 –

関連する問題