Jak správně nastavit Environment, aby četl „production“ sekci z config.neon?
- Pudlík
- Člen | 8
Ahoj všem,
chtěl bych předeslat, že jsem hodinu zkoumal vše možné, existující témata ve fóru, google i dokumentaci, a nenašel jsem jednoznačný, aktuální a kompletní příklad, jak správně pracovat s „production“ a „development“ prostředími :(
Poradíte mi někdo best-practice?
Cíl: mít 1× bootstrap, 1× config.neon tak, aby když tentýž nahraju na production server, se použil správný blok – např. na základě host_name.
Detekci host_name udělám snadno, ale problém je, že mi zaboha nic nečte proměnné, co mám v config.neon v bloku „production“.
Nastavuju v bootstrapu:
Environment::setProductionMode(TRUE);
A u kus dále mi správně vrací Environment::isProduction();
„true“.
Ale pořád se mi nečtou data z configu, které jsou v bloku „production“ – všude se mi používají jen ty z „common“.
Vše v kontextu PHP 5.3 a aktuálního Nette 2.0.
Poradíte prosím? :(
- knoxa
- Člen | 16
Hoj, zrovna před chvíli jsem to řešil, to co píše fojta nepomůže.
Mě pomohlo až nastavení productionMode
ručně v
bootsprap.php
:
$configurator->container->params['productionMode'] = true;
Na IIS se nedetekovalo a nedetekuje produkční prostředí. Taky jsem v Nette nudla, a asi to nebude to správný řešení, ale funguje to. Taky si počkám na odpověď někoho zkušenějšího.
Editoval knoxa (7. 8. 2011 14:33)
- Patrik Votoček
- Člen | 2221
fojta napsal(a):
Cau cau,
nejsem nejakej expert v NETTE, ale zkusDebugger::enable(Debugger::PRODUCTION);
Tím zapneš produkční mód u laděnky! Ne u Environmentu!
Dělá se to takhle:
$configurator = new Configurator();
$container = $configurator->loadConfig(APP_DIR . "/config.neon", Environment::PRODUCTION); // tady to máš :-)