Yii2 isGuest 在控制台应用程序中给出异常 [英] Yii2 isGuest giving exception in console application

查看:34
本文介绍了Yii2 isGuest 在控制台应用程序中给出异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在控制台应用程序中,当我使用 Yii::$app->user->isGuest 时,它给出了以下异常:

In console application when I used Yii::$app->user->isGuest it is giving the below exception:

Exception 'yii\base\UnknownPropertyException' with message 'Getting unknown prop
erty: yii\console\Application::user'

我什至尝试在配置文件的组件数组中添加用户.但它没有奏效.知道我做错了什么吗?

I even tried adding the user in components array in config file. But it didn't worked. Any idea what am I doing wrong?

推荐答案

In Console 应用程序 Yii->$app->user 不存在.所以,你需要在config\console.php中配置user组件.

In Console application Yii->$app->user does not exist. So, you need to configure user component in config\console.php.

喜欢,

config\console.php

 'components' => [
 .........
 ......
        'user' => [
            'class' => 'yii\web\User',
            'identityClass' => 'app\models\User',
            //'enableAutoLogin' => true,
        ],
        'session' => [ // for use session in console application
            'class' => 'yii\web\Session'
        ],
 .......
]

使用下面的代码检查它是否有效.

To check it works or not using below code.

public function actionIndex($message = 'hello world')
{
    echo $message . "\n";
    $session = \Yii::$app->session->set('name', 'ASG');

    if(\Yii::$app->session) // to check session works or not
        echo \Yii::$app->session->get('name')."\n";

    print_R(\Yii::$app->user);
}

关于您的问题的更多信息:链接

More info about your problem : Link

注意:控制台中没有会话.

这篇关于Yii2 isGuest 在控制台应用程序中给出异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆