ci框架连接数据库资源无法释放

使用ci框架提供的类查询数据:

$this->load->database();
      $query = $this->db->query($sql);

程序运行一段时间之后,报错,告知数据库too many connections

很明显mysql数据库连接资源超过了 max_connections 设定值。立马在每个查询之后,添加资源释放脚本:

$this->db->close();

仍然无法释放资源,怎么办呢?查看手册之后,知道了,只要把pconnect设置为false就可以了,设置大致如下:

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

设置 过之后,无需调用   $this->db->close(); 即可自动关闭连接。

时间: 2024-10-16 08:56:13

ci框架连接数据库资源无法释放的相关文章

ci框架操作数据库基本方法

授课过程中如果涉及到文件夹或目录时,可使用缩进进行演示: application |-----libraries |-----xxx_helper.php system |-----libraries |-----url_helper.php --------------------------------------------------------------------------------------------------------------------------------

CI框架(3 or 4) session锁问题引发的讨论

角色介绍 sskaje:提起疑问者,疑似国人 narfbg:CI作者之一 sskaje:在CI3和CI4中,用来实现session的redis驱动与memcached驱动关于session key锁的设计是不对的. 估计是sskaje一针见血的表达导致了作者的第一次回复会带有不满情绪.. CI4中,代码老套,虽然更加兼容但是仍然有bugCI4中关于session锁的循环中的伪代码如下: if redis::ttl(lock_key) > 0 then sleep 1s continue loop

CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时刻提醒自己:借鉴和学习才有出路,忘记过去意味着背叛! 基本术语说明 在本文开始之前,有必要对文中反复出现的术语做一个简单的说明,如果你对这一部分已经熟谙,完全可以略过.本文中反复出现和提及的术语包括: 前端控制器(Front Controller): 用于集中控制用户的所有请求的组件,将用户的请求发

CI框架

一.CI介绍 小巧,快速, 天下武功,无坚不破,唯快不破. Ci还是很受欢迎的. 学习CI还有一个好处,相比其他的一些php框架,更容易掌握.(源码和思想) 二.CI快速入门 1.获取与安装 直接上官网下载http://codeigniter.org.cn/ 将下载好的文件解压打网站根目录, 在页面中直接访问,输入如http://localhost/citest 看到此界面,表示安装成功.So easy! 2.定义自己的控制器和视图 在编写代码之前,要明确,我们的代码写在什么地方? 其中user

关于PHP的CI框架

今天复习的CI框架,又重新写了一些关于CI 框架的琐碎 1.cakePHP,thinkPHP 2.CI框架CI中规定http://localhost/myci2/控制器名/方法名 http://localhost/myci2/welcome/index 3.MVC(model view controller 模型,视图,控制器) 4.设计模式(design pattern),使逻辑更清晰 5.route(路由) 6.redirect('这写的是跳转的路径'):重定向,不能传参,不支持第二个参数

【转】最简单的CI框架入门示例--数据库取数据

1.下载CI框架(自己找) 2.配置 database.php配置:    为数据库服务器设置 connection 参数: 源码打印? $db['default']['hostname'] = "your-db-host"; $db['default']['username'] = "your-username"; $db['default']['password'] = "your-password"; $db['default']['dat

CI框架下的get_instance() 函数

你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用多少次都不会消耗资源的.一般来说,只有在helper或library中才使用get_instance. 以前我们都是这样用的:$this->load->library('session'); $this只作用在你自己的控制器.模型.视图中,如果你在自定义的类中也想使用CI的函数话,你就可以这样做:

CI框架浅析(全篇)

业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包也就2M多,而且使用起来方便快捷,适用于一些简单的功能开发,以及做app 接口. 该框架整个流程图如下: li.li1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Hannotate SC" } span.s1 { } span.s2 { }

PHP CI框架最近学到的内容

CI框架配置方面注意的细节 在config里面的database.php里面是和数据库配置相关的内容 1 $db['default'] = array( 2 'dsn' => '', 3 'hostname' => '127.0.0.1, //ip 4 'username' => 'root', //用户名 5 'password' => 'root', //密码 6 'database' => 'kp_community', //数据库名称 7 'dbdriver' =&g