Yii2 DbSession在重定向后丢失,90%的时间

Yii2 DbSession在重定向后丢失,90%的时间,yii,yii2,Yii,Yii2,我的登录与PHP会话完美配合。我尝试切换到DbSession引擎,但登录将不再工作,因为页面重定向后会话为空 以下是工作流程: 用户输入其用户id并单击提交以发布数据 验证有效(我已测试),并使用密钥sess=XXXX创建了一个新的标识cookie(在重定向之前使用log进行了测试) $\u会话充满了用户数据(在重定向之前使用日志进行测试) 页面使用新的响应cookie重定向 密码页面加载,请求cookie具有相同的XXXX值(在chrome developer tools中的redirect+

我的登录与PHP会话完美配合。我尝试切换到DbSession引擎,但登录将不再工作,因为页面重定向后会话为空

以下是工作流程:

  • 用户输入其用户id并单击提交以发布数据
  • 验证有效(我已测试),并使用密钥sess=XXXX创建了一个新的标识cookie(在重定向之前使用log进行了测试)
  • $\u会话充满了用户数据(在重定向之前使用日志进行测试)
  • 页面使用新的响应cookie重定向
  • 密码页面加载,请求cookie具有相同的XXXX值(在chrome developer tools中的redirect+之后使用log进行测试)
  • 该会话现在只包含

    [\uu flash]=>阵列 ( )

  • 响应cookie“sess”=中的请求cookie“sess”=id,因此到处都是相同的密钥,但会话在密码页上仍然是空的,90%的时间是空的(因为在某些随机情况下,会话仍然存在,但我无法按需复制它)

    我已经检查了这些问题,不是同一个问题:

    以前有人见过类似的东西吗?我不知道是什么原因造成的

    附录:
    会话配置

    'session' => [
        'class' => 'yii\web\DbSession',
        'name' => 'sess',
        'timeout' => 3600,
        'db' => 'session_db',
        'sessionTable' => 'session', 
    ],
    
    会话数据库配置

    $config['components']['session_db'] = [
        'class' => 'yii\db\Connection',
        ...
    ],
    
    登录操作

    // authenticate() Just checks if the user is valid, etc
    Yii::$app->user->authenticate();
    
    // login() just calls parent::login(), sets some session values then returns !$this->getIsGuest()
    Yii::$app->user->login(Yii::$app->user);
    

    更新我刚刚注意到,如果我使用相同的数据库而不是“db”(我的主数据库)而不是“session_db”,那么即使两个表在这两个数据库中具有完全相同的模式,它也可以完美地工作。

    您是如何配置此会话组件的?您是否在某处使用事务处理?您的登录操作看起来如何?我添加了很多信息,希望这些信息可能有用。我不知道什么是交易,所以我想我没有使用任何检查我的最新更新,我只是找到了一个很好的线索,但我仍然不明白