Problém na produkčním serveru – nette se snaží připojit k DB z local configu

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

Ahoj,
mám problém při nasazení webu na produkční server. Nette se mi stále snaží připojit k databázi definované v config.local.neon. Kde dělám chybu?

Díky moc za pomoc!

<?php

require __DIR__ . '/../vendor/autoload.php';

$configurator = new Nette\Configurator;
$configurator->setDebugMode('80.250.18.198');
$configurator->enableDebugger(__DIR__ . '/../log');

$configurator->setTempDirectory(__DIR__ . '/../temp');

$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->register();

$configurator->addConfig(__DIR__ . '/config/config.neon');
$configurator->addConfig(__DIR__ . '/config/config.local.neon');

$container = $configurator->createContainer();

return $container;

V config.local.neon mám:

parameters:


database:
      dsn:      "mysql:host=localhost:8889;dbname=***"
      user:     "***"
      password: "***"
Oli
Člen | 1215
+
0
-

Chybu děláš v tom, že config.local.neon by měl být na serveru pro server a na localu pro local. A neměl by jsi ho přepisovat na serveru tím z localu…

Mira8
Člen | 36
+
0
-

Oli napsal(a):

Chybu děláš v tom, že config.local.neon by měl být na serveru pro server a na localu pro local. A neměl by jsi ho přepisovat na serveru tím z localu…

Jasně už chápu, díky!

Lukeluha
Člen | 130
+
+2
-

Ono to není z toho možná jasně zřetelné, ale ten důvod, proč je to takto rozdělené (v config.neon konfigurace pro celou aplikaci v nezávislosti na prostředí a config.local.neon konkrétní lokální přístupové údaje, atd.) je z důvodu bezpečnosti. Mělo by to být tak, jak říká @Oli, na serveru máš config.local.neon s údajema pro server. Soubor config.local.neon by měl být úplně vyřazen z verzování (.gitignore, atd.). Co se týče té bezpečnosti, představ si, že bys měl jeden konfigurák a v něm přístupy do db na u sebe i na serveru (tak to řešily staré verze Nette – config byl řešen pomocí sekcí). Pokud by ti někdo ukradl počítač nebo budeš jen ukazovat kamarádovi projekt, na kterém právě děláš, naprosto jednoduše se dostane k DB přístupům na server, což samozřejmě je průser. Z toho důvodu má každé prostředí svůj config.local :)

Azathoth
Člen | 495
+
0
-

A navíc je vyčlenění přístupových údajů do config.local.neon praktikcé, například pokud vás více lidí vyvíjí to samé a každý máte svoji databázi na lokálním serveru, apod…