首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在YII2.0中调用web应用程序中的控制台命令

如何在YII2.0中调用web应用程序中的控制台命令
EN

Stack Overflow用户
提问于 2014-08-18 02:08:21
回答 6查看 16.6K关注 0票数 5

我有一个控制台命令来生成用户报告。我想从我的web应用程序中调用相同的内容。我使用的是Yi2.0.0测试版,我试着遵循在这篇文章如何在Yii中调用web应用程序操作中的控制台命令?中给出的答案

由于YII2.0的结构与YII1.1非常不同,所以如果我尝试包含命令/userReportController.php .Can,就会出现错误--有人在这方面给我提供了指导?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-08-19 11:47:04

票数 5
EN

Stack Overflow用户

发布于 2017-06-07 09:59:06

我认为这是最简单的解决办法:

代码语言:javascript
运行
复制
$controller = new YourConsoleController(Yii::$app->controller->id, Yii::$app);
$controller->actionYourConsoleAction();
票数 5
EN

Stack Overflow用户

发布于 2016-05-23 13:47:54

使用以下代码:

代码语言:javascript
运行
复制
$application = new yii\console\Application($config);
$application->runAction('controller/action');

我使用这个方法而不是yii控制台命令,因为我在托管VPS上运行Yii,那里的cron中不支持unix命令,只有php脚本。

当然,要以这种方式运行它而不是控制台,必须首先初始化yii配置:

代码语言:javascript
运行
复制
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');

require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
require(__DIR__ . '/common/config/bootstrap.php');
require(__DIR__ . '/console/config/bootstrap.php');

$config = yii\helpers\ArrayHelper::merge(
    require(__DIR__ . '/common/config/main.php'),
    require(__DIR__ . '/common/config/main-local.php'),
    require(__DIR__ . '/console/config/main.php'),
    require(__DIR__ . '/console/config/main-local.php')
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25355483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档