我是Yii2和Web开发的新手。 能否请您解释如何启动Yii2控制台,因为文档中不清楚:http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html。 我知道有一个yii控制台文件,我可以在其中配置一些命令,但我如何实际启动它?
答案 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
),或者在控制台应用程序中编写自己的命令。