没有cron的预定PHP脚本执行

时间:2012-09-01 11:28:42

标签: php cron schedule

我有一个需要在每个月末执行的PHP脚本。如果不在类似Unix的系统上使用cron或在Windows系统上使用Task Scheduler,我该怎么做?在这个PHP中没有一些内置功能吗?因为使用cron / scheduler并不是那么便携的IMO。

3 个答案:

答案 0 :(得分:3)

Php只是一种脚本语言,而不是一个了解时间并可能在所需时刻触发事件的过程。

一旦你在服务器中安顿下来,你就不必担心可移植性:迁移到另一个地方不会是一个自动过程,因为环境可能非常不同。

坚持使用cron,或者自己写一个与操作系统无关的层。

答案 1 :(得分:3)

唯一的另一种方法是在加载网站时触发它。例如,您将存储脚本上次运行的时间。然后每次加载页面时,都要检查是否有时间运行它。如果是这样,那么您将作为页面加载的一部分运行它。当然,这取决于(1)任务是一个非常快的任务,(2)任务不必按计划完成,直到第二个。这基本上是wp_cron()在Wordpress中的工作方式。

答案 2 :(得分:1)

在我工作的系统中,我有一个小模块,它保存了最后一次运行的脚本,并且在每次运行主脚本时,都检查了脚本是否应该运行。如果它应该有,它在执行任何其他操作之前执行,因此系统仍然拥有正确的数据,即使期刊脚本没有“按时”运行。它还检查脚本是否应该多次运行,并在需要时运行几次。 有点粗糙,但产生正确的结果,除了PHP / mysql。