Apache2 500 エラーのトラブルシューティング

Apache2 500 エラーのトラブルシューティング

最近、ステージング サーバー上のコードを更新したところ、アプリ内の 1 つのリンクで内部サーバー エラーが発生するようになりました...

ドキュメント ルートの .htaccess には変更がありませんが、この問題を回避するために、.htaccess を削除してテストしてみましたが、うまくいきませんでした。

Apache2のlogLevelがdebugに変更され、何もないログに記録されます。(tail -f /var/log/apache2/error.log を監視し、ページをロードしてもログには何も追加されません)。

このコードは、当社の開発サーバー上で完全に正常に動作しています。これはあまり参考にならないことは承知しています。

ログがないと、困惑してしまいます。これはかなり複雑なアプリなので、ログがないと問題が何なのかさっぱりわかりません。

ご協力いただければ幸いです。よろしくお願いします。

答え1

皆さん、どうやら IE が 500 を返しただけのようです。Firefox でページを読み込むと、PHP 解析エラーが表示されます (アプリは IE でのみサポートされているため、テストするにはユーザー エージェントを切り替える必要がありました)。

記録のために、私はすべての vhosts を調べたので、ログがすべて正しいことを確認しました。すべて正しいのですが、なぜ何もログに記録されなかったのかまだわかりません。

助けてくれてありがとう!

答え2

500 は通常、呼び出している CGI が失敗していることを意味するため、有用なログを取得するのは必ずしも簡単ではありません。呼び出されている CGI がわかっている場合は、CGI 自体にログ記録を実行させて、何が見つかるかを調べることができます。

そうは言っても、あなたは間違いなくいくつかのログにメッセージがないかどうか確認してください。500 が返されるということは、Web サーバーがエラーを検出し、500 メッセージを送信していることを意味します。したがって、ログが実際に、想定どおりに記録されているかどうかも確認する必要があります。

関連情報