总是订单提交失败败

你可以把这个时间加长,或者优化存储过程,事务避免过长时间的等待.

提示:上述设置重启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程序开启编译


  • 0

    如果你觉得TA的回答不错快来给TA點个赞吧!

    你的支持是对作者莫大的鼓励~

    这个你要问蚂蜂窝了。========== 如果你觉得TA的回答不错快来给TA点个赞吧! 你的支持是对作者莫大的鼓励~ 顯示全部

    如果你觉得TA的回答不错,快来给TA点个赞吧!

    你的支持是对作者莫大的鼓励~

    • : 亲爱的蜂蜂截止到07.06号,你的这条回答收到了102次浏览感谢你的分享~窝里有你更精彩!

参考资料

 

随机推荐