【问题标题】:CodeIgniter too many connectionsCodeIgniter 连接太多
【发布时间】:2018-08-04 16:26:34
【问题描述】:

我的项目突然开始说与数据库的连接太多。

"my_mysql_user 已经有超过 'max_user_connections' 活动 连接”

这总是很好,我正在使用多数据库并且设置是

$config['hostname'] = 'localhost';
$config['username'] = 'my_mysql_user';
$config['password'] = 'my_mysql_password';
$config['database'] = ($db == null ? $this->CI->session->company['db'] : $db);
$config['dbdriver'] = 'mysqli';
$config['dbprefix'] = '';
$config['pconnect'] = FALSE;
$config['db_debug'] = FALSE;
$config['char_set'] = 'utf8';
$config['dbcollat'] = 'utf8_general_ci';

我需要像 20/30 模型一样加载..我总是将它们加载到控制器的 __construct() 中。

即使认为它总是有效,我想我可能会更改它并仅在需要的功能中加载模型,但问题仍然存在。

通过执行SHOW PROCESSLIST,它什么也不返回,没有任何查询正在执行。

我可以做些什么来跟踪问题?似乎连接没有关闭!

【问题讨论】:

标签: php codeigniter


【解决方案1】:

关闭持久连接。

$db['default']['pconnect'] = FALSE;

如果你想阻止它们进入 MySQL,在 my.cnf 中设置:

mysql.allow_persistent=Off

【讨论】:

  • 嘿,谢谢。我向我的主机发送了一张票,要求这样做。我看看能不能解决问题。
  • @Linesofcode 这通常可能不会为共享服务器设置。您需要一个 VPS 或专用服务器来进行全局 mysql 服务器更改
  • @Vickel 我打印了 phpinfo(),它确实是设置为 true mysqli.allow_persistent=on 的变量,我要求他们更改它。令我困扰的是,这突然成为一个问题......为什么?
  • @Linesofcode 也许他们升级了 mysql/apache/php 版本,他们一直这样做,通常从不建议(共享服务器)
  • 最近发生了什么变化?有什么东西。您必须从端到端考虑与此相关的整个基础架构。发生了什么变化?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 2011-07-13
  • 2013-05-09
  • 2017-12-27
  • 2011-03-05
  • 2014-07-22
  • 2020-08-05
相关资源
最近更新 更多