当前位置: 首页 > 工具软件 > Timeout-PHP > 使用案例 >

解决PHP超时问题

姬博瀚
2023-12-01

<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

 

当PHP页面处理大事务时,页面往往会发生超时的错误,我解决此问题的方法如下:

1.优化程序代码:

这种方法可能有时立竿见影,但对一些已经很优化或者第三方开发的程序,可能用处不大,但我个人觉得这个办法还是应该优先考虑,这个一个优秀程序员必需有的工作美德。

2.对多个任务进行拆分:

对于一些程序,可能问题并不出现在代码效率上,如Paypal的SOAP调用,大量时间花费在网络的数据传递上了,(此问题在Web Services的远程调用时经常发生),我们当然不能等将来网速的提高来解决这个问题。其实我们可以查看一下在一个POST动作中是否包含了多个任务,如付费、发Email、发货等等。如是这样其实可以对这些任务进行拆分,把这个工作拆分成多个子工作来实现。如执行完付费任务时,使用PHP的Header函数重定向到发送Email的页面,完成后再定向到其他页面,采用redirect页面的方式来接力地完成任务。

3.进行PHP设定值的修改

如果以上两种方法仍然无法解决,代码已经最优话,同时只有一个单任务的工作需要完成。针对这样的情况,只能修改PHP的设定值了。不过建议不要直接修改PHP.ini,这样会延长所有PHP执行的最大时间。简单的方法就是使用init_set函数,以下的代码把PHP最大执行时间设定为180秒。

ini_set('max_execution_time', '180');

同时可以使用ini_get把原来设置的max_execution_time保存下来,在进行完操作时回复原来的设定值。

 类似资料: