在CodeIgniter 3中设置数据库连接超时

时间:2015-09-16 18:50:40

标签: php database codeigniter pdo connection-timeout

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

1 个答案:

答案 0 :(得分:5)

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

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

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

如果您想深入挖掘或检查设置了哪些选项,您可以在$this->options的{​​{1}}功能中记录db_connect,然后检查system/database/drivers/pdo/pdo_driver.php