0

今日、PHP スクリプトが (Apache で) 終了時にサーバー エラー 500 を送信するという問題に遭遇しました。コードは次のようなものでした:

//many stuff here that work
echo "It reached here";
exit;

そして私はいつも出口の手前に到達していました。指図。Google 検索を行ったところ、display_errors を有効にすることを提案するこの投稿に出くわしました。私はそれを行い、500エラーはなくなりました。

だから私は尋ねたかったのですが、なぜこれが起こるのかについて誰か説明がありますか? This SO postは同様のケースについて説明していますが、説明はありません。

いつものように、事前に感謝します

4

2 に答える 2

2

同様に 500 ステータス コードを取得する可能性はかなり高いですが、PHP がブラウザーに何かをエコーするため、Apache は飛び込んで標準のステータス 500 エラー ページを表示しません。

それでも 500 エラーが発生しないことを確認するには、実際のステータス コードを確認する必要があります。

致命的なエラーの場合、PHP は通常 500 ステータス コードを送信します。多くの場合、プロセスはその時点で失敗し (したがって致命的なエラーが発生します)、それ以降出力が生成されないことがあるため、Web サーバーが飛び込んで、標準の 500-internal-server-error-page をユーザーに提供します。

于 2012-04-25T08:26:08.743 に答える
0

コードがループ内の eval() 関数内で解析エラーを生成したようです。この種のエラーはコードの実行を中断しませんが、500 エラーを生成します

于 2012-06-04T18:55:47.703 に答える