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

时间:2014-03-31 08:49:35

标签: php cron

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

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

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

2 个答案:

答案 0 :(得分:4)

创建一个守护进程。

e.g。 daemon.php

会这样做:

while(true){
    sleep(2);

    /* do your magic */

}

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

php -q daemon.php&

答案 1 :(得分:0)

这不是解决像你这样的问题的最好办法,但这是你的答案:

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&