2015-09-16 9 views
5

Wir arbeiten mit 2 Datenbanken, unserer lokalen Datenbank und einer externen Datenbank. Aber jetzt ist unsere externe Datenbank ausgefallen (wir befinden uns noch in der Entwicklung, also ist es gut, dass wir auf dieses Problem gestoßen sind) und versucht nun 30 Sekunden lang, sich mit der externen Datenbank zu verbinden, wie kann ich das Verbindungszeitlimit der Datenbank ändern 1 - 2 Sekunden? Ich verwende Codeigniter mit den PDO-Treibern in meinen Datenbanken. Gibt es jemanden mit einer sauberen Lösung für dieses Problem?Zeitüberschreitung bei Datenbankverbindung in CodeIgniter 3 einstellen

+0

Versuchen Sie dies http://php.net/manual/en/mysql.configuration.php#ini.mysql.connect-timeout – Scorpion

+0

Ich verwende nicht mysql @Scorpion – Jordy

+0

Haben Sie versucht, Einstellung 'PDO :: ATTR_TIMEOUT' ? Wie ist deine Datenbank? – VolenD

Antwort

4

Es ist nicht ein dokumentiertes Feature, aber Sie diese aus der Datenbank-Konfigurationsdatei tun können (application/config/database.php) durch options Einstellung zB Zugabe:

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

Die anderen Einstellungen, die den gleichen internen Mechanismus (zB PDO::MYSQL_ATTR_INIT_COMMAND Set mit $db['default']['stricton'] und PDO::MYSQL_ATTR_COMPRESS eingestellt mit $db['default']['compress']) sind davon nicht betroffen.

Wenn Sie tiefer graben wollen oder prüfen, welche Optionen gesetzt sind, können Sie $this->options in db_connect Funktion in system/database/drivers/pdo/pdo_driver.php anmelden und auch database/drivers/pdo/subdrivers/pdo_mysql_driver.php überprüfen.

+2

Genau das, wonach ich suchte, funktionierte wie ein Zauber! Danke vielmals!! Ich kann dir die Belohnung noch nicht geben, werde es aber tun, sobald ich es kann. – Jordy

Verwandte Themen