PHP:PDO事务和Session有关系吗?

PHP: Is there a relationship between PDO transactions and Sessions?

我目前正在做一个使用 Yii 的项目,偶然发现了一些让我摸不着头脑的东西。我使用 Yii(仅调用 PDO::beginTransaction)启动了一个数据库事务,并做了一些数据库操作,最后,为用户存储了一条闪存消息并进行了重定向。虽然我忘记了提交事务,所以我的数据库中没有存储任何内容,但引起我注意的是我的闪现消息也没有出现。执行提交或回滚会使闪现消息显示得很好。

基本上,我注意到如果我开始交易但没有 commit/rollback,我无法存储任何与会话相关的数据并在重定向后保留它。我通常不会让交易挂起,所以我以前从未注意到这种行为。

那么两者之间是否存在会阻止 Sessions 正常工作的关系?

会话在请求结束时写入数据库。如果您进行显式回滚,它仍会在事务之外写入数据库。如果不这样做,回滚会在会话保存查询 运行.

之后隐式发生