2015-09-16 34 views
5

我们正在处理2个数据库,我们的本地数据库和一个外部数据库。但是现在我们的外部数据库关闭了(我们仍在开发中,所以我们遇到了这个问题很好),现在它试图连接到外部数据库30秒,我怎么能改变数据库的连接超时时间1 - 2秒?我在我的数据库中使用Codeigniter和PDO驱动程序。有没有人有这个问题的干净解决方案?在CodeIgniter中设置数据库连接超时3

+0

试试这个http://php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout – Scorpion

+0

我没有使用mysql @Scorpion – Jordy

+0

您是否尝试过设置'PDO :: ATTR_TIMEOUT' ?你的数据库是什么? – VolenD

回答

4

它不是一个记录功能,但您可以通过添加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功能system/database/drivers/pdo/pdo_driver.php日志$this->options,并检查database/drivers/pdo/subdrivers/pdo_mysql_driver.php

+2

正是我在寻找的东西,像一个魅力一样工作!非常感谢!!我还不能给你赏金,但一旦我可以,就会这样做。 – Jordy