Yii2 isGuest在控制台应用程序中给出异常

Chi*_*may 5 yii2 yii2-advanced-app

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

Exception 'yii\base\UnknownPropertyException' with message 'Getting unknown prop
erty: yii\console\Application::user'
Run Code Online (Sandbox Code Playgroud)

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

GAM*_*ITG 5

在控制台应用程序中Yii->$app->user不存在。因此,您需要userconfig\console.php.

就像,

配置\控制台.php

 'components' => [
 .........
 ......
        'user' => [
            'class' => 'yii\web\User',
            'identityClass' => 'app\models\User',
            //'enableAutoLogin' => true,
        ],
        'session' => [ // for use session in console application
            'class' => 'yii\web\Session'
        ],
 .......
]
Run Code Online (Sandbox Code Playgroud)

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

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);
}
Run Code Online (Sandbox Code Playgroud)

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

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