Po aktualizace Nette přestala fungovat Laděnka
- Jarda
- Člen | 25
Ahoj, potřeboval bych opět pomoc.
Aktualizoval jsem Nette z rev. 108 na 142 a přestalo mi fungovat vypisování chyb. Nastavení debugu mám pořád stejné jako je v tutoriálu quickstart.
<?php
Debug::enable();
?>
Zkoušel jsem s tím různě experimentovat, co jsem se tu dočetl, ale podařilo se mi docílit pouze generování hlášek od Laděnky do souboru. Na obrazovku nevypíše nic.
V http hlavičce mám 500 Internal server error
Nevíte, prosím, co s tím?
- Jarda
- Člen | 25
Updatnul jsem. Už se mi aspoň zobrazují normální php chybové hlášky
na stránce
(Fatal error: Call to undefined method Environment::getusert() in C:\xampp\htdocs\app\presenters\DashboardPresenter.php on line 20
Ale Laděnka mi hezký psaní zatim neposlala. Musí se u Debugu nastavit nějaká další direktiva?
Editoval Jarda (9. 12. 2008 17:31)
- piler
- Člen | 111
mam este jeden dotaz k ladenke
<?php
# nastavenie ladenky
Debug::enable(E_ALL | E_STRICT);
# kod
$arr = Array(
1 => 'first',
2 => 'second'
);
print_r($arr['xx']);
?>
chcem vlastne vypisat neexistujuci prvok pola, ale toto ladenka nezachyti. Pouzivam kod ako myErrorHandler (z php.net):
<?php
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
switch($errno)
{
case E_USER_ERROR:
echo "[$errno] My Error: <b>$errstr</b><br /><br />";
echo '#'.$errline.' -'.$errfile;
exit(1);
break;
case E_USER_WARNING:
echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
exit(1);
break;
case E_USER_NOTICE:
echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
exit(1);
break;
default:
echo "<b>Unknown error type</b>: [$errno]<br />";
echo $errstr."<br /><br />\n";
echo '#'.$errline.' -'.$errfile;
exit(1);
break;
}
/* Don't execute PHP internal error handler */
return TRUE;
}
a ten tuto chybu zachyti. Treba este nieco nastavit v ladenke?
?>
- David Grudl
- Nette Core | 8218
Zachytit by se určitě měla. Nemůže skončit třeba v konzoli Firebugu, zalogovaná v souboru?
- piler
- Člen | 111
David Grudl napsal(a):
Zachytit by se určitě měla. Nemůže skončit třeba v konzoli Firebugu, zalogovaná v souboru?
No vyzera to tak, ze to FirePHP nejak zachytaval (???). Tak som ho vypol a dostal som hlasku
# kod
<?php
print_r($option['xxx']);
?>
# hlaska
Notice: Undefined variable: option in ...
Tak som to skusal este v Google Chrome a to iste. Ladenka to neodchytila.
Ale ked som skusil napr. trigger_error() tak to ladenka zachytila
Editoval piler (10. 12. 2008 15:01)
- David Grudl
- Nette Core | 8218
Jo takhle, ty chceš vidět červenou obrazovku. To se týká jen fatálních chyb, jako třeba nezachycená výjimka.
- piler
- Člen | 111
David Grudl napsal(a):
Jo takhle, ty chceš vidět červenou obrazovku. To se týká jen fatálních chyb, jako třeba nezachycená výjimka.
Takze to nie je mozne zachytit a zobrazit Ladenkou? Bolo by to mozno vhodne, hlavne ak som na produkcnom servri urobil chybu typu NOTICE, aby mi tato chyba dosla emailom.
- Jan Tvrdík
- Nette guru | 2595
piler napsal(a):
Takze to nie je mozne zachytit a zobrazit Ladenkou? Bolo by to mozno vhodne, hlavne ak som na produkcnom servri urobil chybu typu NOTICE, aby mi tato chyba dosla emailom.
Je to možné zachytávat do logu.
- David Grudl
- Nette Core | 8218
Notice se posila emailem. Zkus
Debug::enable(NULL, 'phperror.log', 'admin@example.com');