實現(xiàn)思路如下:
通過win的“任務(wù)”功能來定時執(zhí)行一個bat文件,bat文件會調(diào)用php.exe文件,php.exe可以傳遞參數(shù)指定執(zhí)行哪個類和方法
方法如下:
一,thinkphp開啟cli支持
1、tp正好支持cli命令模式,手冊的路徑為13.7.4 如果是用的其他框架不支持cli,那么只能直接寫程序了,其實就是寫面向過程的最基礎(chǔ)的php代碼。
2、在入口文件下開啟命令,加入一句
define('MODE_NAME', 'cli');
網(wǎng)站一般還有可以通過網(wǎng)頁訪問的模塊,所以可以新建立一個cli的入口如index_cli.php,這樣其他的模塊還可以通過正常的入口進(jìn)入。有的手冊上寫的開始cli定義的是
define('THINK_MODE ', 'cli');
可能是版本不同,注意這點。
二、新建立bat文件
新建立一個txt文件,里面寫上如下三行內(nèi)容:
d:
cd D:\workspace\dzx2
php.exe D:\workspace\dzx2\index_cli.php Sms/sendjob>c:\smslog.txt
意思以此是:當(dāng)前目錄移動到d盤,當(dāng)前目錄移動到D:\workspace\dzx2文件夾下(我的項目入口文件),通過絕對路徑的php.exe 空格輸入絕對的項目cli入口文件,后面空格+參數(shù)(我已經(jīng)把php.exe添加到了系統(tǒng)的環(huán)境變量的path變量中,所以只寫了php.exe) 簡單就是:當(dāng)前目錄移動到項目入口文件,絕對路徑的php.exe+絕對路徑的項目入口文件+參數(shù)
把txt文件改為bat后綴的可執(zhí)行文件,單擊測試是否把執(zhí)行了方法 (可以在bat文件最后寫個Pause,來看看是否報錯,或直接寫入“>c:\smslog.txt ”,把輸出的內(nèi)容導(dǎo)入到一個txt文件,運行后查看該文件就知道報錯與否或報哪些錯誤)
三、新建任務(wù)
windows下是:控制面板——》管理程序——》任務(wù)計劃程序 ,右擊 任務(wù)計劃程序庫 -》新建任務(wù) 運行的賬戶一定要有權(quán)限 觸發(fā)器-》,新建 選擇頻率次數(shù)等功能 操作-》新建 選 啟動程序 ,在下面找到自己寫的bat文件,其他的可以自己看看
建立任務(wù)后,點程序運行一下,看看運行的時間和結(jié)果,還有自己程序所做的事做了沒有,
有錯的話注意的是包含 所選用戶權(quán)限、各個路徑是否正確、程序是否正確 。所以一般做是,首先保證通過url地址訪問程序運行ok,然后是單擊bat文件程序運行ok,再然后是任務(wù)計劃運行ok 。
以上就是如何在thinkphp中使用windows計劃任務(wù)定時執(zhí)行php文件的詳細(xì)內(nèi)容,更多關(guān)于thinkphp定時執(zhí)行php文件的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- ThinkPHP框架實現(xiàn)定時執(zhí)行任務(wù)的兩種方法分析
- thinkphp5redis緩存新增方法實例講解
- ThinkPHP菜單無極分類實例講解
- Thinkphp自定義美化success和error提示跳轉(zhuǎn)頁面代碼實例
- ThinkPHP的標(biāo)簽制作實例講解
- thinkphp的鉤子的兩種配置和兩種調(diào)用方法
- phpstudy的安裝及ThinkPHP框架的搭建圖文講解
- ThinkPHP6.0 重寫URL去掉Index.php的解決方法
- ThinkPHP6通過Ucenter實現(xiàn)注冊登錄的示例代碼
- Thinkphp5+Redis實現(xiàn)商品秒殺代碼實例講解
- ThinkPHP6.0如何利用自定義驗證規(guī)則規(guī)范的實現(xiàn)登陸
- thinkphp諸多限制條件下如何getshell詳解