定期执行PHP文件

时间:2011-02-23 21:09:16

标签: php scripting crontab

问题很简单,我想每隔“N”分钟执行几个php文件。例如:

每隔N分钟 {     执行(script1.php)     执行(script2.php)     执行(script3.php) }

我知道crontab,但我试图找到另一种解决方案。有什么建议?提前谢谢。

4 个答案:

答案 0 :(得分:3)

使用Cron作业是常用的解决方案。你能解释为什么你不想使用CRON吗?我也看到了为你的系统增加类似cron功能的库。例如,在Java / Groovy / Grails世界中,有Quartz库/插件。一个快速的谷歌搜索产生了一个名为phpJobScheduler的PHP库,它看起来类似于Quartz。我从来没有使用过phpJobScheduler,所以我不能保证它。

我有兴趣为什么你不想为此使用crontabs?您是否将成为运行此服务器的主要Web操作人员,或者您是否依赖现有的sysop团队?您可能希望获得他们的输入,因为他们是受您选择的方法影响最大的人。我发现他们倾向于喜欢cron来进行简单的调度。

答案 1 :(得分:0)

在Windows上,我使用了名为Task Scheduler的内置程序。至于linux,是的,cron jobs就是你的答案。

答案 2 :(得分:0)

你可以创建一个php脚本,每隔N分钟永远循环执行X并使用&运行命令使其成为后台进程。

/ path / to / php /home/user/bgscript.php& amp;

如果您希望它始终运行,则必须根据* nix的风格将其添加到启动init.d或服务中。

这个解决方案是可行的,但我个人强烈推荐使用crontab,它已经建立,经过验证并且运行良好!你为什么要避开它?

答案 3 :(得分:0)

你可以构建一个脚本并让它作为守护进程运行并在设定的时间间隔内执行某些任务,但这实际上只是模拟cron ......如果你有能力运行一个php脚本作为一个守护进程你应该真的也可以将它作为一个cronjob运行,因为那就是crons的用途。

如果您需要有关如何将PHP脚本作为守护程序read this great intro运行的更多信息。 daemon和cron之间也有很好的比较,值得一读。