【发布时间】:2014-02-20 15:12:38
【问题描述】:
我有一个长时间运行的 PHP 脚本,其中设置了 set_time_limit(0)。它对15 minutes (900 sec) 非常有效,但随后变得非常奇怪:启动了具有相同参数的第二个进程!我看到它是因为我在脚本开头开始了一个新的日志文件,并且有两个日志文件处理相同的数据!
BTW 脚本使用
在 PHP 后台运行exec('wget http://example.com/script.php?id=NNN > /dev/null &');
这条指令通常只运行一次,在900 seconds(确切时间)之后我无法得到第二次运行的指令。
【问题讨论】:
-
您的 PHP 是否在安全模式下运行?因为您不能在安全模式下影响最大执行时间。另外你的会话寿命是多少?可能会话超时。
-
@i-CONICA PHP5.4 没有安全模式。并且 set_time_limit(0) 效果很好,因为第一个脚本实例没有停止,它们都运行到最后。这里根本没有使用 PHP 会话。