如何从Web运行yii2中的控制台命令

问题描述:

我已经使用 SuggestionController 控制台/控制器中创建了一个控制台命令。

I have created a console command in console/controllers with SuggestionController .

如果我运行 php yii建议之类的命令,它可以正常工作。

If i run command like php yii suggestions, its working.

我想知道如何在不扩展 yii2 的情况下从Web执行控制台命令。

I want to know how to execute console command from web without any extensions of yii2.

可以轻松得多

$oldApp = \Yii::$app;
new \yii\console\Application([
    'id' => 'Command runner',
    'basePath' => '@app',
    'components' => [
        'db' => $oldApp->db,
    ],
);
\Yii::$app->runAction('migrate/up', ['migrationPath' => '@yii/rbac/migrations/', 'interactive' => false]);
\Yii:$app = $oldApp;

Github链接

Github LINK