這次帶給大家yii框架透過控制台指令創建定時任務步驟詳解,yii框架透過控制台指令創建定時任務的注意事項有哪些,下面就是實戰案例,一起來看一下。
假設Yii專案路徑為/home/apps/
1,建立檔案/home/apps/protected/commands/crons.php
<?php $yii = '/home/apps/framework/yii.php'; require_once ($yii); $configFile = dirname (FILE).'/../config/console.php'; Yii::createConsoleApplication($configFile)->run();
2,建立需要的設定檔 /home/apps/protected/config/console.php,設定所需的元件、資料庫連接,日誌等信息,格式類似主設定檔main.php。
<?php return array( 'basePath'=>dirname(FILE).DIRECTORY_SEPARATOR.'..', 'name'=>'Emergency', 'import'=>array( 'application.models.*', 'application.components.*', 'application.extensions.*', ), 'components'=>array( 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'info, warning, error', ), ), ), 'db'=>array( 'class'=>'application.extensions.PHPPDO.CPdoDbConnection', 'pdoClass' => 'PHPPDO', 'connectionString' => 'mysql:host=xxxx;dbname=xxx', 'emulatePrepare' => true, 'username' => 'xxx', 'password' => 'xxx', 'charset' => 'utf8', 'tablePrefix' => 'tbl_', ), ), 'params' => require('params.php'),);
3,在 /home/apps/protected/commands/ 下新建 TestCommand 類,繼承 CConsoleCommand,在TestCommand中,可以使用專案的配置資訊和Yii的各種方法。
<?php class TestCommand extends CConsoleCommand { public function run() { ... } }
4,建立定時任務
$ crontab -e
內容為:
1 * * * * /home/php/bin/php -f /home /apps/protected/commands/crons.php Test &即為每小時的第一分鐘執行TestCommand類中的內容,類似的可以在/home/apps/protected/commands/下新建其他類,使用命令行執行。
有關crontab的用法,可以參考:
crontab指令基礎與實例 crontab指令的一些例子 linux安裝crontab詳解 crontab學習筆記 學習linux設定定時任務的crontab指令 crontab 指令格式與範例 linux定時任務設定crontab學習 不錯的crontab教學
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
建議閱讀:
thinkphp中volist標籤在ajax使用有哪些注意事項
以上是yii框架透過控制台指令建立定時任務步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!