thinkphp 定時執行php檔案windows系統任務計劃

來源:互聯網
上載者:User
實現思路如下:

通過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檔案,運行後查看該檔案就知道報錯與否或報哪些錯誤)


三、建立任務


win下是 控制台??》管理程式??》工作排程器

右擊 工作排程器庫 -》建立任務

啟動並執行賬戶一定要有許可權

觸發器-》建立 選擇頻率次數等功能

操作-》建立 選 啟動程式 在下面找到自己寫的bat檔案

其他的可以自己看看


建立任務後,點程式運行一下,看看啟動並執行時間和結果還有自己程式所做的事做了沒有,


有錯的話注意的是包含 所選使用者權限、各個路徑是否正確、程式是否正確

所以一般做是首先,保證通過url地址訪問程式運行ok,然後,是單擊bat檔案程式運行ok,再然後是任務計劃運行ok 。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.