如何在thinkphp中使用windows計(jì)劃任務(wù)定時(shí)執(zhí)行php文件
實(shí)現(xiàn)思路如下:
通過(guò)win的“任務(wù)”功能來(lái)定時(shí)執(zhí)行一個(gè)bat文件,bat文件會(huì)調(diào)用php.exe文件,php.exe可以傳遞參數(shù)指定執(zhí)行哪個(gè)類和方法
方法如下:
一,thinkphp開(kāi)啟cli支持
1、tp正好支持cli命令模式,手冊(cè)的路徑為13.7.4 如果是用的其他框架不支持cli,那么只能直接寫(xiě)程序了,其實(shí)就是寫(xiě)面向過(guò)程的最基礎(chǔ)的php代碼。
2、在入口文件下開(kāi)啟命令,加入一句
define('MODE_NAME', 'cli');
網(wǎng)站一般還有可以通過(guò)網(wǎng)頁(yè)訪問(wèn)的模塊,所以可以新建立一個(gè)cli的入口如index_cli.php,這樣其他的模塊還可以通過(guò)正常的入口進(jìn)入。有的手冊(cè)上寫(xiě)的開(kāi)始cli定義的是
define('THINK_MODE ', 'cli');
可能是版本不同,注意這點(diǎn)。
二、新建立bat文件
新建立一個(gè)txt文件,里面寫(xiě)上如下三行內(nèi)容:
d: cd D:\workspace\dzx2 php.exe D:\workspace\dzx2\index_cli.php Sms/sendjob>c:\smslog.txt
意思以此是:當(dāng)前目錄移動(dòng)到d盤(pán),當(dāng)前目錄移動(dòng)到D:\workspace\dzx2文件夾下(我的項(xiàng)目入口文件),通過(guò)絕對(duì)路徑的php.exe 空格輸入絕對(duì)的項(xiàng)目cli入口文件,后面空格+參數(shù)(我已經(jīng)把php.exe添加到了系統(tǒng)的環(huán)境變量的path變量中,所以只寫(xiě)了php.exe) 簡(jiǎn)單就是:當(dāng)前目錄移動(dòng)到項(xiàng)目入口文件,絕對(duì)路徑的php.exe+絕對(duì)路徑的項(xiàng)目入口文件+參數(shù)
把txt文件改為bat后綴的可執(zhí)行文件,單擊測(cè)試是否把執(zhí)行了方法 (可以在bat文件最后寫(xiě)個(gè)Pause,來(lái)看看是否報(bào)錯(cuò),或直接寫(xiě)入“>c:\smslog.txt
三、新建任務(wù)
windows下是:控制面板——》管理程序——》任務(wù)計(jì)劃程序 ,右擊 任務(wù)計(jì)劃程序庫(kù) -》新建任務(wù) 運(yùn)行的賬戶一定要有權(quán)限 觸發(fā)器-》,新建
建立任務(wù)后,點(diǎn)程序運(yùn)行一下,看看運(yùn)行的時(shí)間和結(jié)果,還有自己程序所做的事做了沒(méi)有,
有錯(cuò)的話注意的是包含 所選用戶權(quán)限、各個(gè)路徑是否正確、程序是否正確 。所以一般做是,首先保證通過(guò)url地址訪問(wèn)程序運(yùn)行ok,然后是單擊bat文件程序運(yùn)行ok,再然后是任務(wù)計(jì)劃運(yùn)行ok 。
以上就是如何在thinkphp中使用windows計(jì)劃任務(wù)定時(shí)執(zhí)行php文件的詳細(xì)內(nèi)容,更多關(guān)于thinkphp定時(shí)執(zhí)行php文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
CakePHP去除默認(rèn)顯示的標(biāo)題及圖標(biāo)的方法
使用cakephp框架時(shí),在生成的html頁(yè)面里,總是有cakephp的標(biāo)志(上面有大大的標(biāo)題CakePHP Rapid Development,下面還有一個(gè)cakephp的圖標(biāo)),雖然是cakephp的東西,但放到自己的項(xiàng)目中看起來(lái)總是不順眼。2008-10-10PHP單文件實(shí)現(xiàn)代碼去行首尾空格和去空行
這篇文章主要為大家詳細(xì)介紹了PHP如何利用單文件實(shí)現(xiàn)代碼去行首尾空格和去空行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03php設(shè)計(jì)模式 Chain Of Responsibility (職責(zé)鏈模式)
為解除請(qǐng)求的發(fā)送者和接收者之間的耦合,而使用多個(gè)對(duì)象都用機(jī)會(huì)處理這個(gè)請(qǐng)求,將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它2011-06-06通用PHP動(dòng)態(tài)生成靜態(tài)HTML網(wǎng)頁(yè)的代碼
最近研究PHP的一些開(kāi)發(fā)技術(shù),發(fā)現(xiàn)PHP有很多ASP所沒(méi)有的優(yōu)秀功能,可以完成一些以前無(wú)法完成的功能,例如動(dòng)態(tài)生成HTML靜態(tài)頁(yè)面,以減少服務(wù)器CPU的負(fù)載,提高用戶訪問(wèn)的速度。2010-03-03