[2009-05-01] Laděnka hlásí fatal errory
- David Grudl
- Nette Core | 8218
Dobrá zpráva, Laděnka nyní zachytává a vizualizuje i Fatal, parse a compile errory.
Thx Jakub Vrána!
- David Grudl
- Nette Core | 8218
Kombinace error_get_last a register_shutdown_function. Žil jsem v představě, že to nefunguje, ale Jakub Vrána to včera implementoval a evidentně to funguje. Takže kolem toho našlapujte potichu, ať to funguje i nadále ;)
- David Grudl
- Nette Core | 8218
E_USER_ERROR se zachytí už dřív, přes errorHandler. Jinak 500 Internal server Error by mělo PHP generovat automaticky, ale pravda, až od verze 5.2.4, takže to tam doplním.
- michalh
- Člen | 22
David Grudl napsal(a):
E_USER_ERROR se zachytí už dřív, přes errorHandler. Jinak 500 Internal server Error by mělo PHP generovat automaticky, ale pravda, až od verze 5.2.4, takže to tam doplním.
ano, já jenom jestli by se neměla zachytit až v shutdownHandler a dále s ní pracovat jako se závažnější chybou (např. ta stránka 500)
- sodae
- Nette Evangelist | 250
Ahoj , nějak mi to nefuguje skusil jsem přesně co jsi zde ukázal a
vypsalo mi to klasickým způsobem (tedy bez laděnky).
Soubor vypadá takto:
<?php
/* Expriment file */
require_once 'Debug.php';
Debug::enable();
Debug::enableProfiler();
echo $x[];
Kde se mohla stát chyba ?
php 5.2.6
- David Grudl
- Nette Core | 8218
Tohle mě taky původně zmátlo ;) Chyba nemůže být v souboru, ve kterém se volá Laděnka. Protože když tam je, tak PHP zařve dřív, než se vůbec vykoná první řádek, takže Laďěnka se vůbec nespustí.
- Patrik Votoček
- Člen | 2221
vrana napsal(a):
Davide, děkujeme!
Jak jako, „Davide“? :-)
To bude tím že spousta lidí je zvyklá na to že Nette = Dawídek (one-man show) ale Nette = Nette Foundation (many-man show + 2 girls) na to už si taky hodně lidí zvyklo ale na to že do SVNka komituje někdo další než Dawídek už ví hodně málo lidí (bude to tím že málo lidí čte commit logy).
- Jan Tvrdík
- Nette guru | 2595
edke napsal(a):
Zachytenie pre fatal errors funguje skvelo v development environment. Slo by nejako implementovat, aby shutdownHandler v production smeroval napriklad exception na zadefinovany ErrorPresenter (ak je zadefinovany), ktory riadi prezentovanie chybovych hlasok v production ?
Obávám se, že Fatal error nelze prostě „přejít“ a spustit si v klidu ErrorPresenter.
- Honza Kuchař
- Člen | 1662
wnc napsal(a):
Nevím proč, ale musel jsem z bootstrapu odstranit
<?php $application->catchExceptions = TRUE; ?>
protože se to s tímto nastavením chovalo úplně nemožně a na většinu věcí vylepšená laděnka reagovala E500 bez dalšího vysvětlení. Bylo to vážně ke vzteku. Čím to je?
- Inza
- Člen | 330
Jakube, jsi prostě borec!;-).. Díky moc!!!
Pánové je Vám jasné, že Nette Foundation začíná pomalu ale jistě upravovat php k obrazu svému? Když jsem na Poslední Sobotě mluvil žertem o vydání vlastního PHP, které by nemělo ty molochoidní neduhy toho současného byl to fakt žert…ale koukám že se to pomalu ale jistě začíná stávat relitou;-)..