Yii2如何启动控制台?

时间:2018-01-04 12:10:33

标签: php yii2

我是Yii2和Web开发的新手。 能否请您解释如何启动Yii2控制台,因为文档中不清楚:http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html。 我知道有一个yii控制台文件,我可以在其中配置一些命令,但我如何实际启动它?

2 个答案:

答案 0 :(得分:2)

它很容易使用, 如果你不能访问SSH,你就不会在午餐时使用。

转到你的yii目录,在那里你可以找到一个名为YII的文件(没有任何extaion)

使用php命令运行

php yii yourconntroller-name/your-action-name 

之前你必须在其中创建一个控制器和动作

这是一个简单的样本:

<?php

namespace console\controllers;
use yii\console\Controller;
use common\models\Post;

/**
 * Test controller
 */
class TestController extends Controller {

    public function actionIndex() {

        echo date( 'Y-m-d H:i:s');
        $p = Post::find()->where('status=0 AND  auto_publish_date IS NOT NULL  AND auto_publish_date < NOW( )  ')->all();
        foreach($p as $post){
            echo $post->id."\n";
            $post->status=1;
            date_default_timezone_set('Asia/Tehran');
            $post->time = date( 'Y-m-d H:i:s');
            $post->save();
        }

        echo "....\n".count($p)." posts has been published ...\n";
    }

}

答案 1 :(得分:1)

在您的终端your_project_path/yii controller/action [options]中运行(确保yii具有执行权限。)

用一些已发布的命令替换controller/action(即:migrate/up),或者在控制台应用程序中编写自己的命令。