PHP和OpenID = 500错误

时间:2009-04-06 17:00:09

标签: php iis iis-7 openid

有一个非常奇怪的问题。

场景:PHP5.2.9,IIS7,PHP作为FastCGI运行。我在test.concentratedtech.com上有一个网站。单击“登录”,输入OpenID凭据,单击“验证”,立即输入500错误。

点击返回,重新提交页面,工作正常。

IIS失败的请求跟踪显示以下两条消息。这些消息似乎通常表明一切都很好,这显然足以触发错误。 WTF。

任何想法?正如我所说的,如果你回击并重新提交,它就可以完美地运行 - 你可以不断重复这种体验:每个偶数编号的尝试都可以正常工作,奇数编号的尝试会失败500.

ONE:

ModuleName FastCgiModule 
Data1 FASTCGI_RESPONSE_ERROR 
Data2 Successfully fetched 'http://concentrateddon.myopenid.com/': GET response code 200

ErrorCode 5 
ErrorCode Access is denied. (0x5) 

二:

ModuleName FastCgiModule 
Notification 128 
HttpStatus 500 
HttpReason Internal Server Error 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification EXECUTE_REQUEST_HANDLER 
ErrorCode The operation completed successfully. (0x0 

1 个答案:

答案 0 :(得分:0)

嗯......我有点不相信但是我每次都在随机进行更改和测试。

我将PHP的错误显示设置为关闭(正常生产设置,但此计算机仍在测试中,因此显示错误)。问题消失了。

我猜测200(“OK”)响应在某种程度上被Yadis OpenID库记录为“错误”。显示一个错误,PHP抛出500.错误显示关闭,PHP只是吸收它并继续前进。我猜。

更新:实际上,诀窍是错误必须要去。我禁用了错误显示并启用了错误记录(例如,到Windows应用程序事件日志,但也可能是一个文件),一切都很好。