In the console application, Yii->$app->user does not exist. So, you need to configure the user component in config\console.php .
eg,
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 if it works or not, use the code below.
public function actionIndex($message = 'hello world') { echo $message . "\n"; $session = \Yii::$app->session->set('name', 'ASG'); if(\Yii::$app->session)
More about your problem: Link
Note. There is no session in the console.
source share