【问题标题】:Set database connection timeout in CodeIgniter 3在 CodeIgniter 3 中设置数据库连接超时
【发布时间】:2015-12-13 12:05:59
【问题描述】:

我们正在使用 2 个数据库,我们的本地数据库和一个外部数据库。但是现在我们的外部数据库已关闭(我们仍在开发中,所以我们遇到了这个问题很好),它现在尝试连接到外部数据库 30 秒,我怎样才能将数据库的连接超时更改为类似1 - 2 秒?我在我的数据库中使用 Codeigniter 和 PDO 驱动程序。有没有人为这个问题提供干净的解决方案?

【问题讨论】:

  • 试试这个php.net/manual/en/…
  • 我没有使用mysql @Scorpion
  • 你试过设置PDO::ATTR_TIMEOUT吗?你的数据库是什么?
  • 这是解决问题的一种方法,但我不知道您是否使用了 codeigniter,它可以让您在多个驱动程序(mysql、mysqli 和 PDO)之间进行选择。我想知道是否可以在不编辑核心的情况下解决此问题(这将是 PDO 驱动程序,因为我正在使用 PDO 与 Mysql 数据库通信)@user3584460

标签: php database codeigniter pdo connection-timeout


【解决方案1】:

这不是文档中的功能,但您可以通过添加 options 设置从数据库配置文件 (application/config/database.php) 中执行此操作,例如:

$db['default']['options'] = array(PDO::ATTR_TIMEOUT => 5);

其他使用相同内部机制的设置(例如PDO::MYSQL_ATTR_INIT_COMMAND 设置为$db['default']['stricton']PDO::MYSQL_ATTR_COMPRESS 设置为$db['default']['compress'])不受此影响。

如果您想更深入地挖掘或检查设置了哪些选项,您可以在db_connect 函数中登录$this->options system/database/drivers/pdo/pdo_driver.php 并检查database/drivers/pdo/subdrivers/pdo_mysql_driver.php

【讨论】:

  • 正是我想要的,工作就像一个魅力!非常感谢!!我还不能给你赏金,但我会这样做的。
猜你喜欢
  • 2017-04-21
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 2016-01-05
  • 2013-01-12
  • 1970-01-01
相关资源
最近更新 更多