具体设置exec()的最大执行时间

时间:2010-02-04 18:59:37

标签: php exec

是否可以设置exec($command)功能的最大执行时间?有时执行$command会持续太长时间,并在1分钟后停止并显示此错误:

  

致命错误:第51行的C:\ xampp \ htdocs \ files.php超出最长执行时间60秒

如何增加exec()命令的最长执行时间?

    if (allow()) {
    exec($command);

    if (file_exists($file)) {
        //exec($makeflv);
        echo '<script language="javascript" type="text/javascript">window.top.window.aviout(1);</script>';

    } else {
        echo $error;
        }

} else {
   echo $error;
   }

3 个答案:

答案 0 :(得分:20)

请参阅http://php.net/manual/en/function.set-time-limit.php

set_time_limit($seconds)

如果$second设置为0,则不会施加时间限制。请注意,您应该谨慎地完全删除时间限制。您不希望任何无限循环慢慢占用所有服务器资源。上限,例如180优于无限制。

或者,您可以仅为某些代码块调整时间设置,并在运行时间关键代码后重置时间限制,例如

$default = ini_get('max_execution_time');
set_time_limit(1000);
... some long running code here ...
set_time_limit($default);

答案 1 :(得分:4)

.htaccess中,您可以设置以下值:

php_value max_execution_time 1000000
php_value max_input_time 1000000

您也可以在PHP脚本的顶部试试这个:

set_time_limit(0);

答案 2 :(得分:3)

您可以像这样使用ini_set()

ini_set('max_execution_time', 0);

将其设置为0将使您的脚本根据documentation of the ini-directive永久运行。