Php Yii2-yii\console\Application::getSession()
我正试图从终端运行控制台应用程序,但遇到此错误Php Yii2-yii\console\Application::getSession(),php,yii2,console-application,yii2-advanced-app,Php,Yii2,Console Application,Yii2 Advanced App,我正试图从终端运行控制台应用程序,但遇到此错误 Calling unknown method: yii\console\Application::getSession() 这是控制器 class BeanstalkController extends \yii\console\Controller { public function actionIndex() { echo 'this is console action'; } } 这是控制台配置 return [ 'id' =
Calling unknown method: yii\console\Application::getSession()
这是控制器
class BeanstalkController extends \yii\console\Controller {
public function actionIndex() {
echo 'this is console action';
} }
这是控制台配置
return [
'id' => 'app-console',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'console\controllers',
'modules' => [],
'components' => [
'user' => [
'class' => 'yii\web\User',
'identityClass' => 'common\models\Users',
'enableAutoLogin' => TRUE,
],
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
],
'params' => $params,];
我试图从配置中删除会话,但仍然收到会话错误
任何人都可以提供帮助?您不能使用
Application::getSession()
,因为yii\console\Aplication
与web应用程序不同
尝试将会话组件添加到配置中
return [
'id' => 'app-console',
'basePath' => dirname(__DIR__),
'bootstrap' => ['log'],
'controllerNamespace' => 'console\controllers',
'modules' => [],
'components' => [
'user' => [
'class' => 'yii\web\User',
'identityClass' => 'common\models\Users',
'enableAutoLogin' => TRUE,
],
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'session' => [
'class' => 'yii\web\Session'
],
],
'params' => $params,
];
并将其用作组件
Yii::$app->session->get('session');
因此,我尝试的每一个选项都不起作用的原因是我的Yii2版本很旧,我必须升级到最新版本才能让一切都正常工作
谢谢你的帮助 在
控制台/config/main.php
中:
return [
'components' => [
'user' => null,
// and put there other components which use a PHP-session
]
]
控制台环境中的正确配置为:
'components' => [
'user' => [
'class' => 'yii\web\User',
'identityClass' => 'app\models\User',
'enableSession' => false,
'enableAutoLogin' => false,
],
],
参考:如果我必须从common\models\Users中删除Yii::$app->getSession()?