大米CMS官网论坛,大米站长联盟,大米站长之家,大米开发者社区

标题: thinkphp3.X主从MYSQL读写分离数据库的一处BUG [打印本页]

作者: 追影    时间: 2022-4-22 13:51
标题: thinkphp3.X主从MYSQL读写分离数据库的一处BUG
一旦事务体内,同时存在写入再读出,再写入这样的操作,TP在识别数据库的时候把读操作和写操作识别到了两个库。实际上希望事务开启后,所有事务体内的操作都应该走主库
解决方案: 如果开启事务后,强行读操作走主库。
\Core\Lib\Driver\Db\DbMysqli.class.php 和DbMysql.class.php 查找function query将initConnect替换为:
  1. if ($this->transTimes > 0) {
  2.                 $this->initConnect(true);
  3.                 }else{
  4.         $this->initConnect(false);
  5.                 }
复制代码








欢迎光临 大米CMS官网论坛,大米站长联盟,大米站长之家,大米开发者社区 (https://www.damicms.com/bbs/) Powered by Discuz! X3.1