PHP:超过30秒的最大执行时间,继续循环

时间:2012-08-15 03:08:44

标签: php

我正在编写一个php脚本,我在其中进行循环,在循环内部有一个特定的函数处理信息,如下所示。

while (some condition){
    // some code
    processInformation();
    // Some more code
}

好吧事实证明,在中途,在processInformation()中,我遇到了错误致命错误:超过了30秒的最大执行时间。使用set_time_limit(0)对我的情况没有帮助,因为processInformation()可能需要永远。我不希望错误完全破坏我的程序,所以无论如何我可以捕获异常或告诉php如果processInformation()花费太长时间“继续”循环?

2 个答案:

答案 0 :(得分:0)

我不知道如何捕捉异常,但你可以使用一个简单的时间计算来说明60秒后逃脱。 ()

$ X =时间();
而(某些条件){

    processInformation();

    if ($x + 60) < time() 
    break;

}

答案 1 :(得分:0)

您可以将最长执行时间的值从30秒增加到任何值。例如:如果要将最大执行时间限制设置为3分钟(而不是30秒),则可以设置为:

ini_set('max_execution_time', 180); //maximum execution time of 3 minutes

这样,您可以根据需要设置时间。