CodeIgniter数据库连接未关闭

Art*_*Guy 23 php database database-connection codeigniter

我已经在CodeIgniter中建立了一个社交社区网站,它现在得到了相当多的流量,托管公司已经开始抱怨并说数据库正在接收空连接以及未关闭的连接.

我不完全确定什么是空查询或最终会如何发布,任何想法?

我添加了额外的代码,以在代码到达时强制关闭连接,但显然这不起作用.

任何人都可以提供任何建议,如何查看或开始调试这样的问题?

谢谢

我的核心底部有以下内容 MY_Controller

public function __destruct() {
    $this->db->close();
}
Run Code Online (Sandbox Code Playgroud)

Wal*_*nes 27

我认为你正在从Codeigniter连接数据库的初始配置中遇到问题.

在此页面中,您可以看到配置数组中的每个值:https:
//www.codeigniter.com/user_guide/database/configuration.html

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
$db['default']['swap_pre'] = "";
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Run Code Online (Sandbox Code Playgroud)

这是一个基本的数组配置数据库,尝试将pconnect的变量设置为FALSE,当它打开时,系统不会关闭任何连接,并且它会随时保持对新闻查询的打开.

如果你像我说的那样将它设置为false,你的系统将继续正常工作,但是当他需要使用数据库时,codeigniter将关闭并打开连接.

在这里,您可以在codeigniter论坛中找到并发布一个有pconnect变量问题的人,可以帮助您! http://codeigniter.com/forums/viewthread/177573/#842016

  • 感谢您的评论,但 pconnect 变量已设置为 false。 (3认同)

sim*_*nom 6

Codeigniter应自动关闭数据库连接,但您可以隐式调用它 $this->db->close();

请参阅http://codeigniter.com/user_guide/database/connecting.html


小智 2

$this->db->close();查询后你尝试过做什么吗?