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



我们正在使用2个数据库,我们的本地数据库和外部数据库。但现在我们的外部数据库宕机了(我们还在开发中,所以遇到这个问题很好),它现在尝试连接到外部数据库30秒,我如何将数据库的连接超时更改为1 - 2秒?我使用Codeigniter与我的数据库上的PDO驱动程序。有没有人对这个问题有明确的解决办法?

这不是一个文档化的特性,但是您可以通过添加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']设置)不受此影响。

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

最新更新