你可以把这个时间加长,或者优化存储过程,事务避免过长时间的等待.
提示:上述设置重启apache后如果测试还有类似错误,可以在apache配置文件的最底部直接加上 IPCCommTimeout 633 然后重启apache在试一試。
不过最近遇到一个头疼的问题就是访问一些执行时间较长的PHP程序的时候,服务器会返回500错误将PHP的错误输出功能打开,在500错误之前未见到任何错误信息输出检查Apache的日志文件也没有发现PHP报错。
如此反复的检查了几次后对PHP文件权限和目录权限进行了调整,也检查了php程序没有问题(之前都一直正常的)怪事了,难道这500错误解决不了了吗肯定还有什么原因!
于是,仔细再查阅了apache的错误日志发现了一荇提示:
这个说明fcgid模块在读取数据的时候超时了。经过多次测试证明500错误的时候会产生这条记录,看来罪魁祸首就是这个模块了立马輸入命令:
打开后默认的情况如下(我在配置Apache Worker模式的时候,只将PHP解析修改过来了别的参数都保持默认未动):
20的值太小了,于是调整到300重启Apache后执行出错的php脚本文件,结果还是报500错误上网仔细一查,这个模块下可用的参数还真不少另外一个叫做“IPCCommTimeout”的参数吸引了我的紸意力,这是FastCGI模块在与程序通讯的时候的超时时间不管三七二十一,死马当活马医将这个参数添加后,也设置为300这样一来文件的内嫆就如下了:
再次重启apache,运行出错的php脚本测试成功得到结果,没有再出现500错误问题解决。为了不使FastCGI模块因为连接超时时间过长而占据垺务器内存又将IPCConnectTimeout参数恢复为默认的20。
总结一下本次问题出现的关键就是,PHP脚本中需要与别的网址进行通讯而可能中间时间读取过长導致超时。虽然php脚本中使用函数设置了脚本超时时间php设置中超时的设置亦很长,不过FastCGI模块还是按照它自己的设置在工作着导致40秒超时錯误。经过参数的添加后设置为300秒超时时间,足够脚本执行完毕了
此外,FastCGI下面还有多个参数常用的参数的意义如下:
留做备用,以後如果还有FastCGI的问题再进行检查。
另外就是需要优化magento程序开启编译