gpt4 book ai didi

Yii2:在控制台 Controller 中运行网络操作

转载 作者:行者123 更新时间:2023-12-02 08:21:45 28 4
gpt4 key购买 nike

是否可以在控制台 Controller 中运行web操作?

在网络 Controller (yii\web\Controller) 中,我有一个 Action ,我想将其作为 cron 作业运行。但是如果我尝试在控制台 Controller (yii\console\Controller) 中运行它:

Yii::$app->runAction('controller/action');

然后我收到以下错误消息:

Error: Unknown command "controller/action".

最佳答案

在控制台 Controller 中运行网络操作:

Yii::$app->controllerNamespace = "app\controllers";
Yii::$app->runAction('controller/action');

在从控制台运行 Web 操作之前分配 controllerNamespace


此外,为网络操作禁用enableCsrfValidation:

public function beforeAction($action)
{
if ($action->id == 'action') {
$this->enableCsrfValidation = false;
}

return parent::beforeAction($action);
}

The 'action' ID could be replaced with your current web action ID.

关于Yii2:在控制台 Controller 中运行网络操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601653/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com