Connection refused – Forspi
- luboshilgert
- Člen | 11
Ahoj,
nemáte někdo zkušenosti s připojením k databázi u Forpsi?
V config.product.neon mám:
database:
dsn: 'mysql:host=a024um.forpsi.com;port:3306;dbname=dbname'
user: username
password: heslo
options:
lazy: yes
Ale dostávám stále Nette\Database\ConnectionException: SQLSTATE[HY000] [2002] Connection refused #HY000 in…
Díky za případné tipy
- luboshilgert
- Člen | 11
Celý den jsem dělal na localu a právě večer jsem to nahrál k nim abych zkusit a teď tohle… Ale problém bude někde na straně připojování v Nette. Když jsem si udělal testovací skriptík. Tak se k jejich databázi připojím a vypíšu data.
$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
HOST používám a024um.forpsi.com. Port nikde nespecifikuji ale jeho odebrání z configu taky nepomůže…
- luboshilgert
- Člen | 11
Tak už to funguje…zapomněl jsem na takovou „maličkost“ v bootstrap.php. Snad někomu můj kiks pomůže a já si to už také budu pamatovat:D
$configurator->addConfig(__DIR__ . '/config/config.neon');
if ($configurator->isDebugMode()) {
$configurator->addConfig(__DIR__ . '/config/config.local.neon');
} else {
$configurator->addConfig(__DIR__ . '/config/config.product.neon');
}
- MikKuba
- Člen | 83
luboshilgert napsal(a):
Tak už to funguje…zapomněl jsem na takovou „maličkost“ v bootstrap.php. Snad někomu můj kiks pomůže a já si to už také budu pamatovat:D
$configurator->addConfig(__DIR__ . '/config/config.neon'); if ($configurator->isDebugMode()) { $configurator->addConfig(__DIR__ . '/config/config.local.neon'); } else { $configurator->addConfig(__DIR__ . '/config/config.product.neon'); }
Co bylo prosím řešením problému? To přidání config.local.neon (nebo product), jakože to tam předtím nebylo? Řeším dost možná podobný problém, kdy se na Lebeda hostingu nemohu nějak dostat do DB z Nette, taky to má povolené jen z localhostu, ale nic nefunguje.
Mám
$configurator
->addConfig(__DIR__ . '/config/config.local.neon')
->addConfig(__DIR__ . '/config/common.neon')
->addConfig(__DIR__ . '/config/config.neon')
->addConfig(__DIR__ . '/config/local.neon');
kde hned v config.local.neon je definované připojení na DB:
database:
dsn: 'mysql:host=127.0.0.1;port=33060;dbname=dbname'
user: 'user'
password: 'pass'
options:
lazy: yes
Pokud nezadám port 33060, tak se mi po půl minutě vyhodí 5040 Gateway timeout :/
Editoval MikKuba (9. 7. 2020 17:54)
- luboshilgert
- Člen | 11
Už si to přesně nepamatuji ale myslím, že jsem měl právě v tom bootstrap jen ten config.local.neon, kde bylo nastavené připojení k databázi na localhostu. Neměl jsem tam ale dané, že když je to na produkci aby si to sáhno na config.product.neon, takže i na produkci se to snažilo připojit s údaji v tom local configu
- MikKuba
- Člen | 83
luboshilgert napsal(a):
Už si to přesně nepamatuji ale myslím, že jsem měl právě v tom bootstrap jen ten config.local.neon, kde bylo nastavené připojení k databázi na localhostu. Neměl jsem tam ale dané, že když je to na produkci aby si to sáhno na config.product.neon, takže i na produkci se to snažilo připojit s údaji v tom local configu
Aha, tak to není můj problém. V config.local.neon na serveru mám nastavené správné přihlašováky k databázi :/
- kalatalabnik
- Člen | 35
CZechBoY napsal(a):
Nebude problem ze nepouzivas localhost ale 127.0.0.1?
localhost je 127.0.0.1, ne?
Podíval bych se do těch dalších configů. Nemáš v nich další nastavení pro DB? Záleží na pořadí a config.local.neon máš jako první.
A taky, ten port 33060 je správně? Standardní je 3306.
- MikKuba
- Člen | 83
V žádném dalším configu připojení do DB nenastavuji.
Pátráním jsem se dostal k tomu, že připojení k databázi když nechám
v configu localhost, bez portu a správné přihlašováky, tak se provede, ale
z nějakého důvodu se nedaří provést metoda table(). Pokud místo
$this->database->table(self::TABLE_NAME)
->where(self::COLUMN_EMAIL, $email)
napíšu toto
$this->database->query("SELECT * FROM account WHERE email = ?", $email)
tak se tento dotaz provede.
Na serveru je verze MySQL 8, nemůže to být tím, případně dá se to nějak
pro Nette 3.0 zpracovat?
- David Grudl
- Nette Core | 8227
Piš jakou přesně to píše chybu, z „nedaří se provést“ nikdo nic nevymyslí.