2

据我了解,响应代码 500 表示服务器遇到错误,可能是配置错误或超时。

在我目前的项目中,我收到了很多间歇性的 500 次响应(大约每 100 个页面加载中就有一个)。但仅限于 Internet Explorer。

什么可能导致这种情况?该错误显然是完全随机的。我们可以从日志中得到的最好的结果是:

[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

我知道这是一个旧线程,但也许它可以帮助那些(像我一样)在谷歌上找到这个作为第一个结果之一的人:如果您在一个浏览器中而不是在另一个浏览器中收到 500 错误,它实际上可能不是服务器错误,但 cookie 出现故障。

我在尝试使用 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 回答