【问题标题】:Run a PHP (CLI) script indefinitely [closed]无限期运行PHP(CLI)脚本[关闭]
【发布时间】:2013-07-30 22:56:17
【问题描述】:

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

你认为我可以依赖定时器任务吗?有更好的选择吗?

提前致谢。

【问题讨论】:

  • 除了使用set_time_limit(0); 并且只在启动时运行脚本?
  • .. 为什么?也许 cron 作业是一个更好的主意?
  • 无限期是什么意思?按计划重复运行?还是永远不会退出?永不退出很容易......只是不要退出。

标签: php windows


【解决方案1】:

如果您需要脚本持续运行,而不是定期启动以完成它所做的任何工作,那么您需要它进入无限循环,因此:

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

不要省略sleep() 语句,除非您不介意脚本占用您的整个处理器。

【讨论】:

  • 谢谢亚伦。您认为这与计划任务相结合(只是让它在启动时运行以防重启),在资源方面可以成为一个好的解决方案吗?
  • @Olsi 当然,您需要确保该任务仅在启动时运行,或者让您的 PHP 代码检查一个已经运行的实例并在找到时退出。除此之外,sleep(1) 将导致脚本产生调度程序提供给它的任何 CPU 时间,而不是它实际需要完成工作的时间。剩下的唯一问题是内存使用。请记住,PHP 解释器为您的脚本分配的任何 RAM 都将保持分配状态,直到脚本退出,因此通常无关紧要的内存泄漏在这里很容易成为一个主要问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 2011-10-18
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多