使用 cron 作业每 2 秒刷新一次 PHP 页面


refresh PHP page every 2 seconds using cron job

我尝试每 2 秒运行一次 PHP 脚本,但我只能为每分钟设置一个 cron 作业。

我的想法是在 PHP 中使用 for 循环并在循环中运行我的代码 X 次,然后 cron 作业每分钟运行一次,但我不知道我的脚本需要多长时间才能运行,所以当 cron 作业重新启动时它可能不会完成。

每 2 秒运行一次的最佳方法是什么?

创建一个守护进程。

例如守护程序.php

这将做:

while(true){
    sleep(2);
    /* do your magic */
}

然后将其作为后台任务启动

php -q daemon.php&
这不是解决

像您这样的问题的最佳方法,但这是您的答案:

for($i = 0; $i < 30; $i++){
    sleep(2);
    exec("php name.php > /dev/null 2>/dev/null &");
}

for将每 2 秒运行您的程序 30 次。您必须为上述源代码设置 1 分钟的 cronjob。exec("php name.php > /dev/null 2>/dev/null &");确保 PHP 不会等待程序结束,因此每两秒您将执行任务。

您也可以按照jancha答案进行操作,但修改如下:

while(true) {
    sleep(2);
    exec("php name.php > /dev/null 2>/dev/null &");
}

然后将其作为后台任务启动:

php -q daemon.php&