【问题标题】:Model Loading issue with CodeIgniterCodeIgniter 的模型加载问题
【发布时间】:2011-12-05 12:45:46
【问题描述】:

如果我在一个控制器中加载 5 个模型,是否会为所有模型分别建立到数据库的连接

因为为每个模型打开了多个数据库连接端口,导致服务器挂起的问题。

有什么解决办法吗?

提前致谢。

【问题讨论】:

  • 你100%确定是这个原因吗?
  • 在使用 codeigniter 之前,您是否尝试过在 mysql 客户端中运行查询?

标签: php codeigniter database-connection


【解决方案1】:

不,codeigniter 应该为您加载的每个模型建立一个新的数据库连接。您是如何得出结论 codeigniter 正在打开多个端口的?这应该是不可能的

【讨论】:

    【解决方案2】:

    不,CodeIgniter 使用的是单例模式,这意味着您只能为每个模型/库创建一个实例(或一次一个数据库连接)。

    问题可能出在您的数据库查询中 - 它们可能会减慢响应速度。您是否在数据库配置中使用持久连接?

    有很多问题,但你的代码不多,所以我们只能猜测。

    【讨论】:

      【解决方案3】:

      您是否 100% 确定问题出在此?我从来没有加载过这么多模型,也是因为 CI 有点像单例,所以对象总是一个,如果一个实例已经存在,类也不会重新加载/重新实例化。

      如果您的数据库有问题,请尝试在config/database.php 中将 pconnect(持久连接)设置为 FALSE。您可能还想打开缓存,这可能会有所帮助。

      $db['test']['pconnect'] = FALSE;
      $db['test']['db_debug'] = TRUE;
      $db['test']['cache_on'] = TRUE;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多