2013-07-30 109 views
0

我需要一个无限期运行的PHP脚本,但我似乎无法找到一个很好的方法来执行此操作。我的服务器在Windows Server 2008上运行。无限期运行PHP(CLI)脚本

您认为我可以依靠计时器任务吗?有更好的选择吗?

在此先感谢。

+1

除了使用'set_time_limit(0);'并且刚启动时运行脚本? – Crontab

+0

..为什么?也许一个cron工作是一个更好的主意? – Jonatan

+0

你是什么意思,无限期地?按计划重复运行?或者从不退出?从不退出是容易的...只是不要放弃。 –

回答

-1

如果您需要的脚本为持续运行,而不是开始定期去做做什么工作,那么你需要它进入无限循环,即:

while (1) { 
    do_something(); 
    sleep(1); 
}; 

不要遗漏sleep()声明,除非你不介意脚本吃你的整个处理器。

+0

谢谢亚伦。你认为这是否与计划任务相结合(只是为了在重新启动的情况下在启动时运行它)可以成为资源方面的一个很好的解决方案? – Olsi

+0

@Olsi当然,你需要确保任务只在启动时运行,否则让你的PHP代码检查一个已经运行的实例,如果找到了,就退出。除此之外,'sleep(1)'会导致脚本产生调度器给它的任何CPU时间,而不是实际需要执行的任务。唯一剩下的问题是内存使用情况;请记住,无论PHP解释器为您的脚本分配什么内存,都将保持分配状态,直到脚本退出为止,因此通常无关紧要的内存泄漏很容易成为这里的主要问题。 –