Autor Zpráva
zero0x
Profil
mam nastaveny error reporting
error_reporting(E_ERROR | E_WARNING | E_PARSE);

set_error_handler(array($core, 'errorHandler_php'));


handler vyzera takto
public function errorHandler_php($no, $str, $file, $line){

$tErr = "<b>Chyba v PHP: </b>$str ($no)<br />$file [$line]";
$this->t->assign('error', $tErr);
$this->t->display('.error.html');
die();
}


no aj napriek tomu mi stale vyskakuje chyba z jednej kniznice, ktora ma cislo 2048, teda E_STRICT, a vobec ma nezaujima..

neviete co robit? ak komentnem set_error_handler tak sa nevyhadzuje..
Pavel Prochazka.zde.cz
Profil *
nevim vcem je problem ale skuste toto:

function my_error_handler ($errno, $errstr, $errfile, $errline){
// Vlastní zpracovatel chyby
//if ($errno <> E_NOTICE and $errno <> E_STRICT and $errno <> E_WARNING){
if ($errno <> E_NOTICE and $errno <> E_STRICT){
echo "<br /><table bgcolor='#cccccc'><tr><td>
<p><strong>CHYBA: </strong>$errno : ==> $errstr</p>
<p>Zkuste to prosím znovu, nebo nás kontaktujte a sdělte nám, že došlo k chybě na řádku $errline v souboru '$errfile'</p>";
echo '</td></tr></table>';
}
if ($errno == E_USER_ERROR){
echo '<p>Došlo k závažné chybě, program bude ukončen</p>';
echo '</td></tr></table>';
exit;
}
}
zero0x
Profil
ok, ked som to osetril podmienkou tak nezobrazuje chyby, ale ked urobim vlastnu chybu, napriklad zavolam neexistujucu funkciu, tak sa nezobrazi moje vlastne hlasenie, ale to povodne :(

ak vsak vygenerujem chybu, napr. takto:
trigger_error('baf', E_USER_ERROR);


tak sa zobrazuje pekne moje hlasenie

====

mozno je este problem s tym, ako sa odkazujem na ten handler, pretoze niekde som nasiel, ze treba vytvorit pole, kde prvy prvok je odkaz na objekt, a druhy nazov metody..
zero0x
Profil
no zistil som, ze to nefunguje iba pri fatalkach a parsičkách (:))

teda pri chybach, pri ktorych sa okamzite zastavi beh aplikacie.

no ja by som chcel vlastnu obrazovku aj pre tieto, taku, aka je v phpbb3..

neviete ako na to?

// z jednej stranky: One big issue of the PHP error handling is that there’s no built-in way to catch fatal errors with an user-defined error handler...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0