用户名: 密   码:
   飞诺网 加入收藏
飞诺网 网站开发 VBScript ASP Asp.net Jsp php XML CGI-Perl 搜索引擎 ajax web技术
PHP系列教程 PHP实例 php技术文档

您当前的位置:飞诺网 >> php >> php技术文档

解决PHP超时问题

www.diybl.com    时间 : 2008-06-03  作者:佚名   编辑:本站 点击:   [ 评论 ]


 

当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保存下来,在进行完操作时回复原来的设定值。

如果图片或页面不能正常显示请点击这里
php技术文档推荐文章

文章评论