Мы работаем с 2 базами данных, нашей локальной базой данных и внешней базой данных. Но теперь наша внешняя база данных недоступна (мы все еще в стадии разработки, поэтому хорошо, что мы столкнулись с этой проблемой), и теперь она пытается подключиться к внешней базе данных в течение 30 секунд, как я могу изменить время ожидания подключения к базе данных на что-то вроде 1-2 секунды? Я использую Codeigniter с драйверами PDO в моих базах данных. Есть ли кто-нибудь с чистым решением этой проблемы?
Это не документированная функция, но вы можете сделать это из файла конфигурации базы данных (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
,
Других решений пока нет …