yii2.0檔案如何在php命令列中執行

守護大白菜發表於2017-04-18

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

在yii根目錄下面有個“yii”檔案,這個檔案就是入口。然後“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 web/yii hello/index”或者  直接cd到yii專案根目錄(我的是web/)然後"php yii hello/index",如下圖1和2所示。

1>.



2>.




需要注意的是:php一定要設定環境變數後才能這麼用。想知道php是否已加入環境變數,請用“php -v”命令來檢視。


相關文章