PHP – zobrazení chyb

Pro účely ladění, při tvorbě skriptů v PHP je výhodné zjišťovat možné chyby. PHP k tomuto účelu má vestavěnou funkci error_reporting. Použítím této funkce lze nastavit úroveň zobrazení chyb.

Syntaxe:

Parametry jsou pojmenované konstanty:
E_ERROR, E_WARNING, E_PARSE, E_NOTICE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_STRICT, E_RECOVERABLE_ERROR, E_DEPRECATED, E_USER_DEPRECATED, E_ALL.

Podrobný popis všech parametrů lze nalézt zde.

Doporučuji používat parametr E_ALL a E_STRICT, který zobrazí všechny chyby a varování.

Další možností je nastavení příznaku PHP na zobrazení chyb. Příznaky se nastavují příkazem ini_set(). Hodnota přízaku se získá příkazem ini_get(). Podrobnější info zde a zde.

Defaultní hodnota je „1“, tím je nastaveno, že chyby se budou vypisovat na monitor.

Další možností je nastavení zápisu chyb do logovacího souboru nastavuje se nastavením příznaku log_errors na „1“ nebo „0“. Nastavením příznaku error_log se nastaví jméno souboru.

Zajímavou funkcí je error_log, která zapíše hlášení do definovaného výstupu, např. souboru. Záleží na nastavení příznaku error_log. Podrobný popis této funkce je zde.

Příklad:

Vloží text „Hlášení o chybě“ do souboru php_error.log.
Nebo lze také odeslat chybové hlášení na emailovou adresu:

Problém adresy na seznam.cz je, že takový email nikdy nepřijde. Odhaduji, že je to bezpečnostními nastaveními na seznamu. Řešením je zadání čtvrtého parametru, hlavičky emailu. Podrobnější info zde.

Vypnutí zobrazování hlášení o chybách se nastaví na „0“ nebo zakomentováním příslušných řádků.

php, error

Zdroj: stackoverflow.com

http://php.net/manual/en/function.error-reporting.php
http://php.net/manual/en/errorfunc.constants.php
http://php.net/manual/en/function.error-log.php