1

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

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

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

4

2 回答 2

1

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

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

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

于 2012-11-05T08:53:41.317 回答
0

我不知道如何捕捉异常,但您可以使用简单的时间计算在 60 秒后逃脱。()

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

    processInformation();

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

}
于 2012-08-15T04:13:57.923 回答