5

ErrorDocuments.htaccess ファイルに 404、401、403 などのエラー用のセットアップがいくつかありますが、これらはすべてエラー ページにリダイレクトされますが、 ErrorDocumentPHP が 500 を報告しても 500 エラーのセットは表示されません。500 コードはに送信されます。ブラウザと出力は空白です。PHP で 500 個のエラー ドキュメントを使用できるようにするために何か特別なことをする必要がありますか?

私のディレクティブは次のようになります。

ErrorDocument 401 /errorpage.php?error=401
ErrorDocument 403 /errorpage.php?error=403
ErrorDocument 404 /errorpage.php?error=404
ErrorDocument 500 /errorpage.php?error=500

私は php.ini を調べましたが、明らかに Apache の設定をオーバーライドするものは何も見当たりませんErrorDocument。また、httpd.conf にもディレクティブはありません。他に見るべき場所はありますか?

前もって感謝します。

4

4 に答える 4

2

非常によく似た質問に対するこの回答を参照してください。基本的に、PHP が 500 をトリガーすることはめったにありません。

于 2011-08-05T14:19:15.450 に答える
0

codeigniterとImagickを使用しているときに、たまたま同じ問題が発生しました。imagickは、問題が発生したときに500 HTTPエラーを設定していました。その場合、Codeigniterのカスタム500メッセージは表示されませんでした。

すべてのImagick関数にtry-catchを追加することでこれを解決しました.500の問題が発生している場所を確認してから、そこにtry-catchを追加します。

 ErrorDocument 500 /errorpage.php?error=500

、私はこれが同様の問題を解決したと主張する人もいれば、Apacheが制御をPHPに渡したので役に立たないと言う人もいるのとほぼ同じようにオンラインでロードを読みました。カスタム500エラーメッセージを表示するブラウザ。

于 2013-02-06T08:37:11.927 に答える
0

Apache conf チェーンの前に ErrorDocument 宣言を追加する必要がある場合があります。これを vhost conf に追加すると、呼び出されない場合があります。

于 2010-03-29T20:50:01.167 に答える
-1

エラーページでエラーが発生する可能性があるため、Apache で 500 エラーの PHP ファイルを実行できるとは思えません。500 エラーを HTML ファイルにレンダリングして、ディレクティブをそのファイルに向けてみてください。

于 2010-02-12T16:25:08.327 に答える