2

応答コード500は、サーバーでエラーが発生したことを意味していると理解しています。設定の誤りやタイムアウトが発生した可能性があります。

私の現在のプロジェクトでは、断続的な500の応答がたくさんあります(100ページの読み込みごとに約1つ)。ただし、InternetExplorerでのみ。

何が原因でしょうか?エラーは明らかに完全にランダムです。ログから取得できる最善の方法は次のとおりです。

[2012年7月24日火曜日18:57:09][エラー][クライアント66.83.159.2](null)のハンドラーが無効な結果コード70007を返しました

Apache2.2とPHP5.4.5を使用しています。

4

3 に答える 3

1

通常、サーバー側(この場合はPHP)で何かがクラッシュしているため、例外ブロックを挿入して、通常は発生す​​るものをログに記録することをお勧めします。

エラーなどの有用なメッセージが表示されるはずです。もう一度やり直してください。ただし、最終的には、問題を絞り込むのに役立ちます。

これがRESTサービスの場合、500エラーを返したいと思うかもしれませんが、ユーザーが見ることができるものを返すだけの場合は、よりユーザーフレンドリーにする必要があります。

なんらかの方法で複製できる場合は、Fiddler2(http://www.fiddler2.com/fiddler2/)を使用して、ブラウザーとサーバー間のすべての通信を取得し、IEが他とは異なるものを送信しているかどうかを確認します。ブラウザ。

于 2012-07-25T18:28:02.313 に答える
1

私はそれが古いスレッドであることを知っていますが、おそらくそれは(私のような)最初の結果の1つとしてグーグルでこれを見つける誰かを助けます:あなたが一方のブラウザで500エラーを受け取り、もう一方のブラウザではない場合、それは実際にはサーバーエラーではないかもしれません、しかし誤動作しているクッキー。

Firefoxでログインしようとすると500になるという問題がありましたが、Chromeでテストすると問題なく動作しました。ffでこのページのCookieをクリアした後、そこでも機能しました。

于 2020-06-23T11:07:09.320 に答える
0

500エラーは必ずしもブラウザ固有ではありませんが、これはクライアントからサーバーに渡されるデータが原因である可能性があります。

Apacheエラーログに加えて、phpエラーログがあるはずです。そのログを確認するか、(問題のあるページで)設定を変更して、探しているものが見つかるまでエラーを表示します。

ini_set('error_reporting', E_ALL);
ini_set('display_errors', true);

http://www.php.net/manual/en/errorfunc.configuration.php

于 2012-07-25T18:26:57.273 に答える