Laděnka na produkčním, debugBar ano laděnka ne

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

Zdravím, mám takový problém, mám v bootstrap:

Debugger::enable(array('12.34.56.78', '127.0.0.1'));

...

$application->catchExceptions = TRUE;

a z mé IP adresy 12.34.56.78 na produkčním serveru dostávám Nette 500 místo laděnky, ovšem sexy debug bar v rožku se normálně zobrazí.

Co dělám špatně?

22
Člen | 1478
+
0
-
$application->catchExceptions = $container->params['productionMode'];
Jan Endel
Člen | 1016
+
0
-

Děkuji, funguje přesně podle očekávání.

LuKo
Člen | 116
+
0
-

Jak zjistím, v jakém módu právě jsem?
$container->params['productionMode'] mi vypíše za všech okolností TRUE. A to i v případě nastavení Debugger::enable(Debugger::DEVELOPMENT);. Původně jsem měl stejné nastavení Debuggeru podle IP, jako pilec nahoře, ale rada od 22 nezabrala.

Filip Procházka
Moderator | 4668
+
0
-

Mód Debuggeru a mód aplikace jsou něco jiného.

$container->params['productionMode'] se řídí podle Nette\Configurator::detectProductionMode()

A Debugger se při zapnutí bez parametru detekuje podobně.

LuKo
Člen | 116
+
0
-

Aha, lze pak nějak ovlivnit $application->catchExceptions v závislosti na módu Debuggeru? Aby mi pro určitou IP místo 500 naskočila Laděnka. Zatím jsem to „fixnul“ zadáním natvrdo $application->catchExceptions = FALSE;

EDIT: Opět se mi rozsvítilo, až když jsem odeslal svůj post. Řešení je primitivní a zdá se být funkční:

<?php
$application->catchExceptions = Debugger::$productionMode;
?>

Editoval LuKo (9. 9. 2011 13:34)

22
Člen | 1478
+
0
-

spíš bych zjistil proč se ti špatně detekuje prostředí napřed…

LuKo
Člen | 116
+
0
-

Mám to na domácím serveru s veřejnou IP. PRODUCTION mód se tedy detekuje správně. Laděnka zachytila většinu chyb, jako jsou překlepy, chybějící metody atd, ale když jsem vyhodil výjimku v Authenticatoru a špatně ji zachytil (=nezachytil), dostal jsem 500 a pro Laděnku jsem musel do logů.