用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3682|回复: 3
收起左侧

[已解决] codeigniter 关闭数据库连接问题

[复制链接]
发表于 2012-3-5 18:52:30 | 显示全部楼层 |阅读模式
本帖最后由 sostart 于 2012-3-5 19:15 编辑

最近在使用 codeigniter  oracle DBA 说oracle进程数很大  是不是程序里没有关闭连接(没开启长连接)
看代码 在system/core/CodeIgniter.php 结尾处  执行了关闭数据库连接 $CI->db->close();

疑惑:
连接多库  $CI->db->close(); 不能关闭所有连接
程序中exit的时候  $CI->db->close();  这句是执行不到的
为什么不把关闭数据库连接写到析构函数里呢?  所有的数据库类 都继承自 CI_DB_driver  为什么不在这里析构时关闭呢?

发表于 2012-3-5 19:34:21 | 显示全部楼层
因为 CI 当初是为 PHP4 开发的,有历史遗留问题,相信以后会改善的。
 楼主| 发表于 2012-3-6 10:31:34 | 显示全部楼层
Hex 发表于 2012-3-5 19:34
因为 CI 当初是为 PHP4 开发的,有历史遗留问题,相信以后会改善的。

了解了  

还有个疑惑是  id  oracle没有自增 靠序列(SEQUENCE)来解决  

在CI里执行 ID.nextval
每次都会自增 2   直接在oracle客户端执行则是自增 1    有遇到这样问题么?
发表于 2012-3-6 10:47:32 | 显示全部楼层
sostart 发表于 2012-3-6 10:31
了解了  

还有个疑惑是  id  oracle没有自增 靠序列(SEQUENCE)来解决  

一般都不用 PHP 连接 oracle 数据库吧,所以 CI 的 oracle 驱动不完善。

本版积分规则