PDO connect exception 2005

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
factor
Člen | 28
+
0
-

Dobrý podvečer vespolek,
tak jsem se po úspěšném školení nette rozhodl přejít z dibi na nativně podporované PDO (Nette\Database), vše fungovalo v pořádku dokud jsem aplikaci nenahrál na produkční server. V momentu připojování k databázi dostávám chybovou hlášku:
SQLSTATE[HY000] [2005] Unknown MySQL server host 'xx.xx.xx.xx:PPPP'

Requirements Checker říká že je vše v pořádku a mysql server je pro jiné aplikace (nutno podotknout že nejsou psány v nette) ze stejného serveru dostupný.

config.neon

	database:
		dsn: 'mysql:host=xx.xx.xx.xx:PPPP;dbname=db_name'
		user: db_user
		password: db_password

Produkční server:

Nette: 2.1-dev
PHP: 5.3.10-1ubuntu3.6
PDO extension: Available drivers: mysql

Localhost:

Nette: 2.1-dev
PHP version: 5.3.9
PDO extension: Available drivers: mysql pgsql sqlite sqlite2

Na googlu je vidět že s tímto problémem se potýkají hlavně uživatelé drupalu, ale rozumné řešení k nenalezení. Nemáte prosím někdo tušení jak postupovat abych se dopracoval k root cause a nápravě?

Díky moc za radu,
Ondra

Majkl578
Moderator | 1364
+
0
-

Možná by neškodilo trochu vlastní iniciativy, třeba podívat se do dokumentace PDO. Zjistil bys, že port se zadává jinak, ne za dvojtečkou, ale jako další část DSN:

dsn: 'mysql:host=localhost;port=3307;dbname=db_name'
factor
Člen | 28
+
0
-

Dobré ráno,
samozřejmě že jsem tuto variantu zkoušel, ale spadl jsem do kolečka dalších chybových hlášek a vzhledem k tomu že z localhostu se aplikace dokázala k produkčnímu serveru připojit i přes použití dvojtečky tak jsem tomu nepřikládal velkou důležitost.

Každopádně moc dík za radu.
Ondra

Majkl578
Moderator | 1364
+
0
-

Někde letmo jsem v dokumentaci narazil na zmínku/komentář, že takhle uvedený port je ignorován, pokud host=localhost, zkus případně uvést host=127.0.0.1.

factor
Člen | 28
+
0
-

Pomohlo, díky moc za informaci :)