之前開發的拼團的時候,有用到過定時任務,但是因為定時不是我負責的,所以也只是粗略的看了下。
新增入口檔案cli.php在thinkphp的同級目錄index.php下新建乙個cli.php
<?php
/** * created by phpstorm.
* user: loveteemo
* date: 2017/9/22
* time: 16:42
*/// 應用入口檔案
// 檢測php環境
if(version_compare(php_version,'5.3.0','<')) die('require php > 5.3.0 !');
// 開啟除錯模式 建議開發階段開啟 部署階段注釋或者設為false
//繫結模組 省略home
define('bind_module','home');
// 定義應用目錄
// 引入thinkphp入口檔案
require dirname(__file__).'/thinkphp/thinkphp.php';
// 親^_^ 後面不需要任何**了 就是如此簡單
其中需要注意幾點
1、定義的應用目錄和框架目錄需要用絕對位址
2、定義訪問mode為cli模式
新增配置檔案cli.php在thinkphp/mode目錄下新增cli.php,內容為複製common.php
然後注釋掉日誌配置
//'think\log' => core_path . 'log'.ext,
新增linux下編輯定時任務
crontab -e
新增每分鐘執行一次的定時寫入資料庫日誌表測試
* * * * * /bin/sh /var/www/html/專案名/cli.sh
寫入完成後,重啟 crond 服務,給與該 cli.sh 的可執行許可權
#!/bin/sh
/usr/bin/php56 /var/www/html/專案名/cli.php /help/test;
檢視資料庫中是否每分鐘增加一行資料
public
function
test
()else
//定時任務已完成
m("log")->add(array("msg"=>"定時執行任務".date('y-m-d h:i:s')));
}
*
因為我繫結是home模組,所以這裡執行的時候沒有寫模組名,cli.php [模組/控制器/函式] 訪問該位址
假如遇到不執行,請按順序排查sh**,入口檔案,定時服務,php**。
ThinkPHP3 2 驗證隨記
自動完成 靜態方式 在模型類裡面通過 auto屬性定義處理規則。動態方式 使用模型類的auto方法動態建立自動處理規則。自動驗證 靜態方式 在模型類裡面通過 validate屬性定義驗證規則。動態方式 使用模型類的validate方法動態建立自動驗證規則。定義格式為 array array 驗證欄位...
THINKPHP3 2命名空間
thinkphp3.2命名空間 3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。由於新版完全採用了命名空間的特性,因此只需要給類庫正確定義所在的命名空間,而命名空間的路徑與類庫檔案的目錄一致,那麼就可以實現類的自動載入。例如,...
ThinkPHP3 2 搭載環境
thinkphp是乙個快速 簡單的基於mvc和物件導向的輕量級php開發框架 預設情況下當你執行index.php時只有home模組,如果你需要建立其他模組時需要在入口檔案 index.php 中定義 define bind module admin 繫結入口到admin模組訪問 bind modu...