2013-02-22 123 views
1

很简单:PHP的ini_set( “的max_execution_time”)失败()

的ini_set( “的max_execution_time”)工作当我通过经典URL电话呼叫的script.php

的ini_set( “的max_execution_time”)并不时的script.php通过exec()函数从另一个PHP脚本/进程中运行的工作。现在

,我的解决方案不是简单地在选项1中继,因为它的工作原理,因为exec()函数是要激活的script.php和几个类似的人是通过(外部)cron作业调用。

没有人有想法发生了什么?

如果它的帮助下面的是激活代码:当函数ini_set()返回FALSE

exec('/usr/bin/env php ./script.php'); 
sleep(30); 
exec('/usr/bin/env php ./script2.php'); 

激活两个脚本和script2.php和他们都失败。

+4

当您使用'EXEC()'你正在使用PHP的CLI配置,而不是服务器配置。 – Barmar 2013-02-22 21:31:33

回答

0

使用的set_time_limit(秒),而不是函数ini_set()

1

由于Barmar指出,有PHP的几个INI​​文件。至少一个用于CGI,另一个用于CLI。你也可以通过ini_set或在.htaccess中设置一些东西。 有一些配置文件可以定义哪些设置可以在哪里更改。安静可能你不允许修改CLI脚本中的max_execution_time。如果我没有记错的话,默认情况下它应该是0 aka unlimited。

+0

你和BadAlghoritm在同一时间指出了同样的事情,这是正确的。我为你的两个答案投了票,我不能接受一个答案。这里是赶上:http://www.php.net/manual/en/features.commandline.differences.php – 2013-02-22 22:07:29

+0

接受BA的人。如果你不接受答案,他需要的代表超过了我的代表,并且对你的个人资料反映不佳。 – 2013-02-23 07:42:18

+0

好的,如果你同意。感谢您的回应:) – 2013-02-23 09:27:07