Установите время ожидания соединения с базой данных в CodeIgniter 3

Мы работаем с 2 базами данных, нашей локальной базой данных и внешней базой данных. Но теперь наша внешняя база данных недоступна (мы все еще в стадии разработки, поэтому хорошо, что мы столкнулись с этой проблемой), и теперь она пытается подключиться к внешней базе данных в течение 30 секунд, как я могу изменить время ожидания подключения к базе данных на что-то вроде 1-2 секунды? Я использую Codeigniter с драйверами PDO в моих базах данных. Есть ли кто-нибудь с чистым решением этой проблемы?

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 в db_connect функция в system/database/drivers/pdo/pdo_driver.php а также проверить database/drivers/pdo/subdrivers/pdo_mysql_driver.php,

5

Другие решения

Других решений пока нет …