据我了解,响应代码为500表示服务器遇到错误,可能是配置错误或超时。
在我目前的项目中,我得到了很多间歇性的500响应(大约每100个页面加载一个)。但仅限于Internet Explorer。
可能导致这种情况的原因是什么?该错误显然是完全随机的。我们从日志中获得的最好的是:
[Tue Jul 24 18:57:09 2012] [error] [client 66.83.159.2] Handler for(null)返回无效的结果代码70007
我正在使用Apache2.2和PHP5.4.5。
答案 0 :(得分:1)
通常情况下,服务器端会发生崩溃,在本例中为PHP,因此您可能希望放入异常块并记录通常会出现的情况。
用户应该看到一些有用的消息,例如错误,请再试一次,但最终这可以帮助您缩小问题范围。
现在,如果这是一个REST服务,你可能想要返回500错误,但如果只返回用户可以看到的东西,那么你应该让它更加用户友好。
如果您可以以某种方式复制它,那么使用Fiddler2(http://www.fiddler2.com/fiddler2/)来获取浏览器和服务器之间的所有来回通信,看看IE是否发送了与其他浏览器不同的内容。
答案 1 :(得分:1)
我知道这是一个旧线程,但它可能会帮助像我一样在Google上找到它的人作为第一个结果之一: 如果您在一个浏览器中遇到500错误,而在另一浏览器中却没有500错误,则实际上可能不是服务器错误,而是Cookie出现故障。
我遇到的问题是,尝试使用firefox登录时我得到了500,但是在chrome中进行测试时,它可以正常工作。在ff中清除此页面的cookie后,它在此处也可以再次使用。
答案 2 :(得分:0)
500错误不一定是浏览器特定的,但这可能是由从客户端传递到服务器的数据引起的。
除Apache错误日志外,还应该有一个php错误日志。检查该日志或更改您的设置(在有问题的页面上)以显示错误,直到找到您要查找的内容。
ini_set('error_reporting', E_ALL);
ini_set('display_errors', true);