PHP - Chybové hlásenia

Chybové hlásenia v PHP. Ako sa im čiastočne vyhnúť? Ako ich zaznamenávať? Všetko budeme robiť pomocou dvoch jednoduchých funkcií.

Error_Reporting()

Často sa stáva, že návštevník si chce prezrieť vaše stránky a narazí na nejakú chybu - myslím chybu skriptu alebo jeho chybového spracovania. Estetika stránky stráca svoju hodnotu a tým pádom klesá aj jej kvalita. Týmto chybám sa dá predchádzať. Na deaktivovanie zobrazovania chýb nám bude postačovať funkcia error_reporting(). Upozorňujem, že najlepšie je chyby vypínať len pri väčších aplikáciách ako je napr. diskusné fórum alebo redakčný systém. Tam sa také niečo naozaj hodí. Funkcia má aj svoje predurčené parametre. Vkladať sa do nej môžu parametre s nasledujúcej tabuľky.
1 E_ERROR Kritické chybe, po ktorých sa skript zastaví.
2 E_WARNING Varovania, po ktorých skript pokračuje v činnosti.
4 E_PARSE Chyby spracovania skriptu - syntax.
8 E_NOTICE Ozámenia o udalostiach s skripte
256 E_USER_ERROR Generované chyby pomocou trigger_error()
512 E_USER_WARNING Generované varovania pomocou trigger_error()
1024 E_USER_NOTICE Generované oznámenia pomocou trigger_error()
2047 E_ALL Skript bude zobrazovať všetky chyby - vyššie uvedené.

To čo ste videli ako posledné E_ALL odporúčam používať iba pri vývoji webových aplikácií. Avšak pre vypnutie chybových hlásení vám postačí funkciu zapísať ako error_reporting(0). Všetky chybové hlásenia budú nastávať v pozadí stránky resp. budú prebiehať ale o nich nebudete vedieť. V súčasnosti PHP ohlasuje všetky chyby, takže je implicitne nastavená na E_ALL samozrejme okrem E_NOTICE. Čiže sú ohlasované všetky chyby okrem oznámení. Oznámenia niekedy nemusia predstavovať žiadny problém pre prácu skriptu a preto by iba zavadzali.

Error_Log()

Táto funkcia je vlastne pokračovaním funkcie error_reporting() s tým rozdielom, že táto funkcia ohlasuje chyby tam kam vy sami určíte. Parametre funkcie sú nasledovné:
0 Chyba bude uložená podľa nastavenej metódy na OS.
1 Správa o chybe sa odošle ne emailovú adresu.
2 Táto správa sa odosiela ladiacemu programu. Táto možnosť už neplatí od verzie PHP3.
3 Správa sa bude ukladať do súboru.
Posledná možnosť je v dnešnej dobe zahrnutá v službách takmer každého hostingu. A ak nie môžete si to predsa urobiť sami. Návod nájdete práve tu. Predpokladajme, že vo webovej aplikácií chceme zobrazovaniu chýb predchádzať a tak nastavíme funkciu na hlásenie chýb na error_reporting(0). Teraz máme zabezpečené vypnutie všetkých chýb. Hneď pod túto funkciu umiestnime našu funkciu a zvolíme si protokolovanie chýb do súboru. Čiže typ 3.
<?php

$error = "V skripte ".__FILE__." na riadku ".__LINE__." sa vyskytla chyba!n";

error_log($error,3,"error.txt");

?>
Po tomto zákroku chyby nebudú zobrazované ale ukladané do súboru error.txt. Poslednému parametru funkcie môžete zadávať aj absolútnu cestu a pod. Konštanta __FILE__ slúži na odoslanie mena súboru a konštanta __LINE__ na očíslovanie riadku kde nastala chyba.
To je asi všetko o hlásení chýb :-).
Alternatívne verzie: Text PDF Voice
Autor: PaBi3 · Kategória: Programovanie · Dátum: 10.06.2005 15:48

Komentáre

Zatiaľ tu nie sú žiadne komentáre.

Osobné údaje
Captcha
Odpíšte text z obrázku. Rozlišujú sa malé a veľké písmená.
Obsah
Možnosti