
最近、ステージング サーバー上のコードを更新したところ、アプリ内の 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 メッセージを送信していることを意味します。したがって、ログが実際に、想定どおりに記録されているかどうかも確認する必要があります。