在写购物车接口时,需要要上seesion来记录购物车当前购物车的ID,但是在做的时候发现不管怎么设置
\Yii::$app->user->enableSession = false;
都没有作用,而在Session的Service组件中是使用该设置来判断是否启用自定义的Session。
 public function init()
    {
        if(\Yii::$app->user->enableSession == true){
            $this->_session = new PhpSession; // phpsession
        }else {
            if ($this->storageEngine == 'mongodb') {
                $this->_session = new MongoDbSession;
            }else if ($this->storageEngine == 'mysqldb') {
                $this->_session = new MysqlDbSession;
            }else if ($this->storageEngine == 'redis') {
                $this->_session = new RedisSession;
            }
        }
    }
跟踪了一下代码,在执行AppserverTokenController之前就已经实例化了Session,所以不管怎么设置不启用PHP的session都不起作用。