解决PHP超时问题

时间:2009-05-31 15:00:10  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:程序员必需有的工作美德。2.对多个任务进行拆分:对于一些程序,可能问题并不出现在代码效率上,如Paypal的SOAP调用,大量时间花费在网络的数据传递上了,(此问题在WebServices的远程调用时经常发生),我们当然不能等将来网速的提高来解决这个问题。其实我们可以查看一下在一个POST动作中是否包含了多个任务,如付费、发Email、发货等等。如是这样其实可以对这些...
  正文:

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');

但是必须在非安全模式(safe   mode)下

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

也可以用

set_time_limit(0);

"解决PHP超时问题"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/PHP/9911.html


关键字:

关于《解决PHP超时问题》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td