Windows下用cmd命令實例講解yii2.0 的控制台定時任務


Yii中的資源是和Web頁面相關的文件,可為CSS文件,JavaScript文件,圖片或視頻等,資源放在Web可訪問的目錄下,直接被Web服務器調用。

有時候有些功能需要做到計划任務中去,因此就需要yii能用php命令去執行。yii2.0是支持php命令行運行的,操作方法如下:

在yii根目錄下面有個“yii”文件(不是“yii.bat”),這個文件就是入口。然后“commands”目錄下會默認有個“HelloController.php”控制器文件,這個是一個demo。打開這個控制器文件,源碼如下(刪掉了部分注釋):

<?php namespace app\commands; use yii\console\Controller; class HelloController extends Controller { /** * This command echoes what you have entered as the message. * @param string $message the message to be echoed. */
  public function actionIndex($message = 'hello world') { echo $message . "\n"; } }

從上面可以看出,在命令行運行時,會繼承console下的Controller;而一般“controllers”目錄中的控制器會繼承web下的Controller。

所以在php命令行中執行yii腳本的步驟為:

1.新建一個腳本

在“commands”目錄下面按照“HelloController.php”的格式新建一個控制器腳本文件。

2.在命令行執行腳本

在命令行敲入“php yii項目所在路徑/yii 控制器名/方法名”,例如“php E:/wwwroot/yii2/yii hello/index”

如下圖所示1:

:或下圖所示2:

需要注意的是:php一定要設置環境變量后才能這么用。想知道php是否已加入環境變量,請用“php -v”命令來查看。

Yii中的三種控制器類

base\Controller.php        這個是下面兩個的基類
console\Controller.php   這個是控制台控制器
web\Controller.php        這個是web控制器

 

 

總結如下:

1:command創建任務
2:Windows測試 :進入根目錄 命令yii 加上你的任務如 yii hello
3:Linux測試: 同Windows
4:crontab建立: 定時時間 php目錄 yii根目錄/yii hello 如:01 1 * ** /opt/php/bin/php /data/www/weixin_yii/yii hello

 

linux ,定時任務執行方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM