ECS Windows环境配置的IIS+php环境在访问站点时报以下错误:
The FastCGI Handler was unable to process the request. Error Details: The FastCGI process has failed frequently recently. Try the request again in a while Error Number: -2147467259 (0x80004005). Error Description: HTTP Error 500 - Server Error. Internet Information Services (IIS)
一般都是由于FastCGI超时导致的。
1、将C:\WINDOWS\system32\inetsrv\fcgiext.ini文件中的以下参数根据实际情况添加或修改
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
RequestTimeout=360
ActivityTimeout=120
注:各参数说明
InstanceMaxRequests:fastcgi进程能处理的最大请求数,超过就会回收(内存较小的主机请注意不要设置过大)
EnvironmentVars:PHP_FCGI_MAX_REQUESTS:php自身控制的最大请求数,默认500,既然要用fastcgi去运行cgi,那么就不需要PHP去限制最大请求数,所以要确保InstanceMaxRequests小于或等于PHP_FCGI_MAX_REQUESTS
RequestTimeout:请求的超时时间
ActivityTimeout:活动会话的超时时间
2、找出FastCGI超时,执行慢的原因,存有的可能性较多,建议排查:
2.1 检查 IIS,php的错误日志
2.2 请网站开发检查php代码
2.3 php在调用mysql过程中是否有异常,例如慢sql等