Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii2如何启动控制台?_Php_Yii2 - Fatal编程技术网

Php Yii2如何启动控制台?

Php Yii2如何启动控制台?,php,yii2,Php,Yii2,我不熟悉Yii2和web开发。 您能否解释一下如何启动Yii2控制台,因为文档中不清楚:。 我知道有一个yii控制台文件,我可以在其中配置一些命令,但如何实际启动它?在终端中运行您的\u项目\u路径/yii控制器/action[选项](确保yii具有执行权限) 用一些已经发布的命令(即:migrate/up)替换controller/action),或者在控制台应用程序中编写自己的命令。在终端中运行您的项目路径/yii controller/action[选项](确保yii具有执行权限) 用一些

我不熟悉Yii2和web开发。 您能否解释一下如何启动Yii2控制台,因为文档中不清楚:。
我知道有一个yii控制台文件,我可以在其中配置一些命令,但如何实际启动它?

在终端中运行
您的\u项目\u路径/yii控制器/action[选项]
(确保
yii
具有执行权限)


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

在终端中运行
您的项目路径/yii controller/action[选项]
(确保
yii
具有执行权限)

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

它非常易于使用, 如果您不访问SSH,则无法访问控制台

转到您的yii目录,在那里可以找到名为yii的文件(无任何扩展)

用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";
    }

}
使用起来非常简单,
如果您不访问SSH,则无法访问控制台

转到您的yii目录,在那里可以找到名为yii的文件(无任何扩展)

用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";
    }

}

在Windows上打开
cmd
,或在Linux上打开
Terminal
,导航到您的项目目录(如
/var/www/project/)
,键入:
php yii
。问题是project不在本地主机上。因此您需要
ssh
访问服务器,或者只需在Windows上通过
ftp
Open
cmd
或Linux上的
Terminal
刷新缓存,导航到您的项目目录(如
/var/www/project/)
,键入:
php yii
。问题是项目不在本地主机上。因此您需要
ssh
访问您的服务器,或者通过
ftp
刷新缓存。问题是项目不在本地主机上。我想调用flush()清除网站上的缓存。您必须访问服务器才能运行console命令。为什么不创建自定义函数,您可以在web上调用它来刷新缓存呢问题是项目不在本地主机上。我想调用flush()清除网站上的缓存。您必须访问服务器才能运行console命令。为什么不创建一个自定义函数,可以在web上调用它来刷新缓存呢