搜尋
首頁php框架ThinkPHPThinkPHP實作定時任務案例

ThinkPHP實作定時任務案例

Mar 11, 2020 am 09:50 AM
thinkphp定時任務

本篇文章介紹了使用ThinkPHP實現定時任務的方法,和cron實現定時任務的方法,希望對學習thinkphp的朋友有幫助!

ThinkPHP實作定時任務案例

#ThinkPHP實作定時任務案例

定時任務常見的是Linux中的crontab定時任務,這種是透過編寫腳本來執行的,它會在後台一直循環執行。但是有時候我們沒有伺服器權限或是說我們沒有獨立的伺服器,那又該怎麼辦?其實,定時任務還有一種就是被動是,只要存取專案就會觸發,被動式定時任務一般用於虛擬主機,因為沒有伺服器權限我們只能透過程式碼來實現。以下我們以thinkPHP為例來分析這兩種定時任務的差異。

(推薦教學:thinkphp教學

無動式定時任務

①、tags.php

ThinkPHP實作定時任務案例

ThinkPHP實作定時任務案例

######################################################## #在/Application/Common/Conf目錄下新建tags.php檔案。 (此和方法一處一樣)###
<?php  
  
return array(  
    //&#39;配置项&#39;=>&#39;配置值&#39;  
    &#39;app_begin&#39; =>array(&#39;Behavior\CronRunBehavior&#39;),  
);
###②、crons.php######在/Application/Common/Conf目錄下新建crons.php檔案。 (此處和方法一有區別,注意區分。)###
<?php  
  
return array(  
    //myplan为我们计划定时执行的方法文件,2是间隔时间,nextruntime下次执行时间  
    //此文件位于/Application/Cron/目录下  
    &#39;cron&#39; => array(&#39;myplan&#39;, 2, nextruntime),  
);
###③、myplan.php######在/Application/Common/目錄下新建Cron資料夾,裡面新建檔案myplan.php文件。 ###
<?php  
  
echo date("Y-m-d H:i:s")."执行定时任务!" . "\r\n<br>";
### 此時我們就可以存取專案的url,然後我們會發現在Application/Runtime/目錄下產生了~crons.php文件,同時頁出現如下效果,文件內容如下:###
<?php
return array (
  &#39;cron&#39; => 
  array (
    0 => &#39;myplan&#39;,
    1 => 2,
    2 => 1502089802,
  ),
);
?>
###############主動式定時任務#########①、登入Linux伺服器###
[root@iZwz924w5t4862mn4tgcyqZ ~]# crontab -e
*/1 * * * * /usr/local/php/bin/php /data/wwwroot/door/test.php//执行PHP文件
*/1 * * * * /usr/bin/curl http://www.100txy.com/wechatapi.php//访问url
###②、編輯test.php###
<?php
  $txt = "/data/wwwroot/door/test.txt";
  // die(var_dump($txt));
  $date=date(&#39;Y-m-d H:i:s&#39;,time());
  $content = file_get_contents($txt);
  if($content!=&#39;&#39;){
    $arr=explode(&#39;#&#39;,$content);
    $num=$arr[&#39;1&#39;]+1;
    $string=$date.&#39;#&#39;.$num;
  }else{
    $string=$date.&#39;#&#39;.&#39;1&#39;;
  }
  file_put_contents($txt,$string);
  $content_last = file_get_contents($txt);
  return $content_last;
###③、後台監控test.txt檔案###
[root@iZwz924w5t4862mn4tgcyqZ ~]# tail -f /data/wwwroot/door/test.txt
#############(免費學習影片教學分享:###php影片教學###)###

以上是ThinkPHP實作定時任務案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:www.100txy.com。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)