Php Yii2如何启动控制台?
我不熟悉Yii2和web开发。 您能否解释一下如何启动Yii2控制台,因为文档中不清楚:。Php Yii2如何启动控制台?,php,yii2,Php,Yii2,我不熟悉Yii2和web开发。 您能否解释一下如何启动Yii2控制台,因为文档中不清楚:。 我知道有一个yii控制台文件,我可以在其中配置一些命令,但如何实际启动它?在终端中运行您的\u项目\u路径/yii控制器/action[选项](确保yii具有执行权限) 用一些已经发布的命令(即:migrate/up)替换controller/action),或者在控制台应用程序中编写自己的命令。在终端中运行您的项目路径/yii controller/action[选项](确保yii具有执行权限) 用一些
我知道有一个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
Opencmd
或Linux上的Terminal
刷新缓存,导航到您的项目目录(如/var/www/project/)
,键入:php yii
。问题是项目不在本地主机上。因此您需要ssh
访问您的服务器,或者通过ftp
刷新缓存。问题是项目不在本地主机上。我想调用flush()清除网站上的缓存。您必须访问服务器才能运行console命令。为什么不创建自定义函数,您可以在web上调用它来刷新缓存呢问题是项目不在本地主机上。我想调用flush()清除网站上的缓存。您必须访问服务器才能运行console命令。为什么不创建一个自定义函数,可以在web上调用它来刷新缓存呢