php - codeigniter在哪里创建和销毁mysql连接以及db类单例?

标签 php mysql codeigniter

如果我们在 database.php 中有多个数据库组:-

1) 即使在特定调用中只需要使用一个,是否也建立了所有这些连接。 IE。如果我有数据库组 a,b 在我的调用中,我加载了仅加载组 b 的模型。

2) 如果我在我的 Controller 中加载了两个模型,并且如果它们都加载了相同的数据库,将建立不同的连接还是共享相同的连接。

例如:- Controller mycont.php 具有以下内容:-

$this->load->model('model1');
$this->load->model('model2');

如果 model1.php 和 model2.php 都有以下内容:-

$this->load->db('connection_name');

3) 连接在哪里关闭。

例如:- 如果我有以下代码:-

$this->databaseFunc();//完成数据库工作在此之后不需要 这里进行了一个 curl 调用,这需要很长时间

那么数据库连接什么时候关闭,在 curl 之后或者它在超过 mysql 服务器mysql_wait_time 配置 时自行关闭。

希望这个问题的答案有助于更好地理解 DB with codeigniter。

最佳答案

在 CI 中,每个库都是一个单例。它在 load->library 上创建,并在请求结束时销毁。

数据库lib处理数据库连接,所以当库被销毁时连接被关闭。它与 curl 无关。

我从未尝试过,但它应该是这样工作的。

关于php - codeigniter在哪里创建和销毁mysql连接以及db类单例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227456/

相关文章:

php - 现场 Codeigniter https 页面

PHP session 不会过期。曾经

PHP 包含路径问题

php pdo - 检索结果和行数 - 可移植解决方案

php - 将带有 MySQL 数据库的 PHP 程序转换为 .exe 文件

php - codeigniter:无法使用连接检索数据

javascript - 在javascript中将字符串转换为数组内的整数

php - Laravel : unable to get local issuer certificate 中的 AWL SSL 错误

php - 从 HHVM C++ 扩展运行 PHP 函数

php - 无法添加或更新子行外键约束失败 mysql 错误号 : 1452