php定时任务

我的服务区是虚拟的。怎么让php定时运行或者一直运行呢。网上那些方法都不行。欸~

阅读 2.5k
3 个回答
while(1){
    if(true){
        // 执行逻辑
    }
    else{
        sleep(60)
    }
}

脚本中运行

while(1){
}

起一个命令

php test.php

脚本运行,比如swoole扩展

swoole_timer_tick(1000, function(){
    echo "timeout\n";
});

比如只用PHP基础函数

$tick=60;//60秒触发一次
$tick1=200;
while(true){
    
    if ($tick<=0){
        $tick=60;
        //逻辑
    }
    if ($tick1<=0){
        $tick1=200;
        //逻辑
    }
    $tick--;
    $tick1--;
    sleep(1);
}

第二种定时器不会很准确,因为逻辑部分也会消耗时间

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题