我遇到了一个问题,希望各位专家能真正帮助我找到问题的根源。我遇到了随机页面超时(表现为 500 错误),但我找不到问题的根源。
PHP 版本:
PHP 5.5.12 (cli) (built: Apr 30 2014 11:20:11)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
IIS 版本:
Version 7.5.7600.16385
快速CGI:
C:\Users\lock>%windir%\system32\inetsrv\appcmd list config -section:system.webSe
rver/fastCgi
<system.webServer>
<fastCgi>
<application fullPath="C:\php5\php-cgi.exe" activityTimeout="700">
<environmentVariables>
</environmentVariables>
</application>
</fastCgi>
</system.webServer>
我已打开失败请求日志,并且在随机页面上获得以下信息:
C:\php5\php-cgi.exe - The FastCGI process exceeded configured activity timeout
耗时 700007 毫秒
昨晚,我创建了 2 个文件,它们只是在 MySQL 和 ODBC 上运行一个非常简单的查询,并且每分钟运行一次。今天早上检查时,唯一导致 FailedRequest 的文件是 ODBC,所以我确定问题出在连接到 ODBC 上。我创建了一个连接到相同服务器和驱动程序但不同数据库的新 ODBC 数据源,并且仍然出现超时,所以我不认为这是数据库本身的问题。我将尝试查看是该函数odbc_pconnect
还是该函数odbc_exec
超时。我能够通过自己的浏览器复制该问题(它挂起近 15 分钟后才生成 FailedRequest 日志),此时,我能够启动另一个浏览器并运行相同的页面而不会出现问题,所以我认为这与数据库上的表锁定或其他原因无关。
任何帮助都将不胜感激——我们真的不知道下一步该怎么做!