další sekce v neon pro druhý testovací server

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

Ahoj lidi,
potřeboval bych v config.neon definovat tři různé prostředí: production, development a řekněme testing.
Kromě živého serveru a mé vývojářské kopie máme totiž ještě testovací server, který vidí zákazník a na kterém se tak trochu zkouší, jestli jsme správně četli jeho myšlenky, když nám místo zadání poslal hromadu e-mailů o jedné větě s dodatkem „Sent from my iPhone“.

Mám to teď zbastlené a zajímalo by mě, jaký byste doporučovali postup.
Dikec

Panda
Člen | 569
+
0
-

Já prostředí definuji v konfiguráku serveru. Konkrétně používáme nginx, k parametrům FastCGI přidávám direktivu

fastcgi_param  ENVIRONMENT "testing";

V PHP je pak ta hodnota viditelná přes $_SERVER['ENVIRONMENT'] – to použiji jako název sekce. Celé nastavení PHP mám v několika samostatných souborech: php-production, kde nastavuji ENVIRONMENT na production, a php-testing, kde nastavuji zmíněný testing + některá další nastavení pro testovací prostředí. Pro jednotlivé virtual hosty si pak mohu naincludovat to nastavení, které potřebuji.

Patrik Votoček
Člen | 2221
+
0
-

doporučuju z configu úplně vyhodit sekce a nechat ho bez. a udělat jich více. Jeden (nebo více) hlavní a jeden pro každé prostředí.

V bootstrapu pa něco takového:

if (file_exists($config = APP_DIR . "/config/local.neon")) {
	$configurator->addConfig($config);
}
petr.pavel
Člen | 535
+
0
-

@Patrik: Přes addConfig() to mám, akorát testuju $_SERVER[‚SERVER_NAME‘], protože nechci dávat pozor na to, abych náhodou nenahrál test.neon na server. Doufal jsem ale, že budu moci mít jen jeden config.neon a v něm sekci, která překrývá/rozšiřuje common a kterou nějak aktivuji v bootstrapu.

@Panda: Jak to použiješ jako název sekce v config.neon? A když mluvíš o nastavení PHP, tak to myslíš php.ini?

Jen abychom si rozuměli, nemluvím o unit testingu, ale o „ručním“ testování – zákazník brouzdá webem a kontroluje očima.

Panda
Člen | 569
+
0
-

petr.pavel napsal(a):

@Panda: Jak to použiješ jako název sekce v config.neon?

Snadno: jako druhý parametr addConfig: $configurator->addConfig($file, $_SERVER['ENVIRONMENT']).

A když mluvíš o nastavení PHP, tak to myslíš php.ini?

No, v podstatě ano. Nemám zvlášť testovací server, provozuji to na jednom, ale mám tam víc poolů PHPka, každý běží s trochu jiným nastavením. Ten testovací má zapnuté například zobrazování chyb a tak.

petr.pavel
Člen | 535
+
0
-

No jo! Mě nějak nedošlo, že jako sekci můžu zadat cokoliv. Doplním do dokumentace.
Díky moc, Pando.