如何在thinkphp中使用windows計劃任務定時執行php文件

實現思路如下:

通過win的“任務”功能來定時執行一個bat文件,bat文件會調用php.exe文件,php.exe可以傳遞參數指定執行哪個類和方法

方法如下:

一,thinkphp開啟cli支持

1、tp正好支持cli命令模式,手冊的路徑為13.7.4 如果是用的其他框架不支持cli,那麼隻能直接寫程序瞭,其實就是寫面向過程的最基礎的php代碼。

2、在入口文件下開啟命令,加入一句

define('MODE_NAME', 'cli'); 

網站一般還有可以通過網頁訪問的模塊,所以可以新建立一個cli的入口如index_cli.php,這樣其他的模塊還可以通過正常的入口進入。有的手冊上寫的開始cli定義的是

define('THINK_MODE ', 'cli'); 

可能是版本不同,註意這點。

二、新建立bat文件

新建立一個txt文件,裡面寫上如下三行內容:

d:
cd D:\workspace\dzx2
php.exe D:\workspace\dzx2\index_cli.php Sms/sendjob>c:\smslog.txt

意思以此是:當前目錄移動到d盤,當前目錄移動到D:\workspace\dzx2文件夾下(我的項目入口文件),通過絕對路徑的php.exe 空格輸入絕對的項目cli入口文件,後面空格+參數(我已經把php.exe添加到瞭系統的環境變量的path變量中,所以隻寫瞭php.exe) 簡單就是:當前目錄移動到項目入口文件,絕對路徑的php.exe+絕對路徑的項目入口文件+參數
把txt文件改為bat後綴的可執行文件,單擊測試是否把執行瞭方法 (可以在bat文件最後寫個Pause,來看看是否報錯,或直接寫入“>c:\smslog.txt ”,把輸出的內容導入到一個txt文件,運行後查看該文件就知道報錯與否或報哪些錯誤)

三、新建任務

windows下是:控制面板——》管理程序——》任務計劃程序 ,右擊 任務計劃程序庫 -》新建任務 運行的賬戶一定要有權限 觸發器-》,新建   選擇頻率次數等功能 操作-》新建   選 啟動程序 ,在下面找到自己寫的bat文件,其他的可以自己看看
建立任務後,點程序運行一下,看看運行的時間和結果,還有自己程序所做的事做瞭沒有,
有錯的話註意的是包含 所選用戶權限、各個路徑是否正確、程序是否正確 。所以一般做是,首先保證通過url地址訪問程序運行ok,然後是單擊bat文件程序運行ok,再然後是任務計劃運行ok  。

以上就是如何在thinkphp中使用windows計劃任務定時執行php文件的詳細內容,更多關於thinkphp定時執行php文件的資料請關註WalkonNet其它相關文章!