### Windows系統任務計劃定時執行 Thinkphp 控制器方法
* * * * *
ThinkPHP 5+已經支持 `cli` 的命令模式
#### 新建bat文件
新建立一個txt文件,里面寫上如下三行內容:
~~~
D:
cd D:\phpStudy\WWW\workspace\DragonApi
php think scan
~~~
意思是:
1. 當前目錄移動到d盤;
2. 當前目錄移動到 `D:\phpStudy\WWW\workspace\DragonApi` 文件夾下;
3. 通過PHP 的 CLI 命令執行計劃任務。
簡單就是:當前目錄移動到項目入口文件,絕對路徑的php.exe+絕對路徑的項目入口文件+參數
前提是,已經把 `php.exe` 添加到了系統的環境變量的 `path` 變量中,這樣才可以直接調用php。
把 `txt` 文件改為 `bat` 后綴的可執行文件,單擊測試是否把執行了方法。
可以在bat文件最后寫個Pause,來看看是否報錯;
~~~
I:\項目文件>D:
D:\>cd D:\phpStudy\WWW\workspace\DragonApi
D:\phpStudy\WWW\workspace\DragonApi>pause
請按任意鍵繼續. . .
~~~
或直接寫入`“ >c:\smslog.txt ”`把輸出的內容導入到一個`txt`文件,運行后查看該文件就知道報錯與否,或報哪些錯誤。
* * * * *
【限制】:計劃任務一天最多僅能夠運行一次,無法多次循環調用。
#### ThinkPHP實現定時任務
摘要: ThinkPHP實現定時任務
項目服務端框架我選用的是ThinkPHP,由于策劃案中有需求要定時刷新指定數據,所以在windows平臺我使用微軟的計劃任務調用bat腳本來執行下面的命令來完成
~~~
php index.php /Home/cli
~~~
即使用PHP的CLI模式調用ThinkPHP的入口文件,然后再傳入指定控制器完成相應的數據處理。
/Home/cli 為我新增的名為CliController的控制器,在類中index方法調用相應處理數據的模塊即可。
特別注意:在windows平臺上執行時在bat腳本中一定要先將當前執行目錄切換到index.php所在入口文件目錄,然后執行`php.exe index.php /Home/cli`.
- 目錄
- 5.0.10環境配置
- 5.0.10控制器模型對象
- 5.0.10模型初始化
- 5.0.10定義數據對象
- 5.0.10創建數據對象data()方法
- 5.0.10創建數據對象-setAttr方法
- 5.0.10創建數據對象__set()方法
- 5.0.10查詢數據對象getData()
- 實例
- 5.0.10保存數據save()方法
- 5.0.10保存數據saveAll()
- 5.0.10更新數據save()
- 5.0.10批量更新數據saveAll()
- 5.0.10刪除數據delete()
- 5.0.10刪除數據destroy()
- 5.0.10traits詳解
- ThinkPHP 5.0 速查表
- 注釋
- 環境變量配置
- Model分層
- MVC 邏輯服務數據
- Model分層及多對多關聯的建立
- 控制器調用邏輯層
- Session
- 子域名session共享
- 系統錯誤
- 版本錯誤
- 返回錯誤
- Token令牌及身份識別
- 關聯查詢
- 安裝
- Git安裝
- Composer
- 擴展
- Composer類
- 非Composer類
- 引用第三方庫
- 自定義命令行
- 計劃任務
- 調試
- 調試模式
- 監聽SQL
- 數據庫調試
- 單元測試
- 初始化
- 控制器初始化
- 模型初始化
- 數據緩存
- 實戰
- 版本升級
- 從V5.0.17升級到V5.0.18