设置exec()的最大执行时间
是否可以设置最大执行时间exec($command)
函数?有时候我$command
的执行时间过长,1分钟后停止,并提出此错误:设置exec()的最大执行时间
Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\files.php on line 51
我怎样才能提高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;
}
可以使用ini_set()
这样的:
ini_set('max_execution_time', 0);
将其设置为0,将根据documentation of the ini-directive脚本运行下去。
见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);
好吧,我把set_time_limit(180)之前执行($命令); 它似乎工作! 但时间到期后,我想回显一个错误,我怎么做? – robert 2010-02-04 19:25:10
当时间限制到期时它会自行抛出一个错误。这就是让你首先提出你的问题的原因。如果你想要一个自定义错误处理程序,请参阅http://php.net/manual/en/function.set-error-handler.php – Gordon 2010-02-04 19:33:29
是的,但是当我提交表单process.php页面开始与iframe,我只有重复这个:结果是错误或成功! – robert 2010-02-04 21:47:51
在.htaccess
您可以设置这些值:
php_value max_execution_time 1000000
php_value max_input_time 1000000
你也可以在你的PHP脚本的顶部试试这个:
set_time_limit(0);
顺便说一句,这已经回答了至少三个次:http://stackoverflow.com/questions/1176497/limit-execution-time-of-an-function-or-command-php,http://stackoverflow.com/questions/1928249/php-preventing-max-执行时限制邮件和http://stackoverflow.com/questions/21 47567/avoid-php-execution-time-limit – Gordon 2010-02-04 19:10:19