【发布时间】:2017-10-21 04:31:46
【问题描述】:
我会尽量简明扼要。
- 我正在使用 Codeigniter 3.1.4。使用 HMVC
- 使用
'pconnect' = FALSE;在本地主机上完美工作 - 通过共享主机在实时服务器上出现问题。
-
max_user_connections = 10。由托管公司设置。 - 还在 php.ini 文件中添加了
mysql.allow_persistent = Off。 - 给出错误
Message: mysqli::real_connect(): (42000/1203): User <user> already has more than 'max_user_connections' active connections Filename:mysqli/mysqli_driver.php Line Number: 201 -
Line 201在 mysqli_driver 的 db_connect 函数中调用mysqli::real_connect - CI 的官方声明是“...CodeIgniter 智能地负责关闭您的数据库连接”。
使用pconnect = FALSE; 和 CI 的“智能”关闭数据库连接,我看不出是什么导致了问题。
编辑
- 以前是通过
$this->load->database('group', TRUE);在每个模型中(只有一个这样的 每个模型调用)。 - 尝试通过自动加载“数据库”库并设置
$this->db->db_select('dbName');来解决上述错误 相应的控制器+模型,但并不总是选择 controller+model 加载时正确的数据库。 - 有人知道
db->db_select()的工作原理吗?
任何想法都会有很大帮助。谢谢。
【问题讨论】:
-
@Vickel,谢谢,但这是为具有 mysqladmin 访问权限的人准备的。托管服务已经拒绝将
max_user_connections从10增加到0,更不用说将其设置为0(无限)。
标签: php mysql codeigniter mysqli