這篇文章為大家介紹一下有關php定時計畫任務的內容,希望對你有幫助!
(1) 程式只要設定完排程任務之後啟動一次就行,然後程式會一直運作,直到伺服器重啟
(2)若是重複運作的話,可能不是自己想要的結果,那樣的話會啟動多個同一計劃任務
(3)若是每個頁面都include 這個頁面那就啟動多個了永久運行的程序消耗不必要係統資源,
而且也會影響頁面的正常訪問,若是放在前面的話,造訪的時候頁面會一直處於等待返回狀態(那是一個死循環)
<?php ignore_user_abort(true); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 $interval=60*5; // 每隔5分钟运行 $f = 'lock.txt'; if(file_exists($f)){ //判断标记文件是否存在,存在就退出,防止重复运行 exit(); } do{ if(@get_file_contents($f) == 'stop'){ //设置停止条件, 停止的时候只要向 lock.txt 写入 stop break; } @file_put_contents($f,'run');//重复写入一个文件,标志已经运行计划任务 ....省略任务代码 sleep($interval);//程序暂停5分钟 }while(true); @unlock($f); //删除标记文件 ?>
這只是用代碼實現的一種方法,還有一種方法就是用Php cli模式來實現計劃任務
如window 下用運行->cmd
運行php.exe,然後用按AT,根據裡面的要求輸入即可
不同的系統有不同的方法,linux是又不同的。
具體沒實現過,但是一定是可以行的。