我有一个REST API,我在Codeigniter / PHP中使用MYSQL数据库创建。我有电脑一整天都在打电话,快速拨打快速电话并返回非常少量的数据。当我打电话给#34;显示完整的进程列表"时,我看不到任何活动的连接,但随着时间的推移,我一直在最大限度地利用MYSQL连接。我很确定我的关系并没有在某个地方关闭。我以为Codeigniter处理了这一切。我无法弄清楚这种情况发生在何处或如何发生。我关闭了持久连接,并且我正在关闭destruct方法的连接以确定。
任何人都可以提供一些调试技巧,帮助我弄清楚是什么导致所有这些连接被打开而不是关闭?
由于
答案 0 :(得分:0)
我认为您在使用Codeigniter连接数据库的初始配置时遇到了问题。
在此页面中,您可以看到配置数组中的每个值:Link
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'database_name',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array()
);
这是一个基本的数组配置数据库,尝试将pconnect
的变量设置为FALSE,当它打开时,系统不会关闭任何连接,并且它随时对新闻查询保持开放状态。
如果你像我说的那样将它设置为false,你的系统将继续正常工作,但CodeIgniter将在他需要使用数据库时关闭并打开连接。
的有用链接