Manußl PHP | ||
---|---|---|
P°edchßzejφcφ | Dal╣φ |
V PHP existuje n∞kolik druh∙ chyb a varovßnφ. Jsou to:
Tabulka 15-1. Druhy chyb v PHP
Hodnota | Konstanta | Popis | Poznßmka |
---|---|---|---|
1 | E_ERROR | v²znamnΘ (fatßlnφ) runtimovΘ chyby | |
2 | E_WARNING | runtimovß varovßnφ (nev²znamnΘ chyby) | |
4 | E_PARSE | kompilaΦnφ syntaktickΘ chyby | |
8 | E_NOTICE | runtimovΘ zprßvy (mΘn∞ vß╛nΘ ne╛ varovßnφ) | |
16 | E_CORE_ERROR | fatßlnφ chyby, kterΘ se vyskytly b∞hem startu PHP | pouze PHP 4 |
32 | E_CORE_WARNING | varovßnφ b∞hem startu PHP | pouze PHP 4 |
64 | E_COMPILE_ERROR | fatßlnφ kompilaΦnφ chyby | pouze PHP 4 |
128 | E_COMPILE_WARNING | kompilaΦnφ varovßnφ (nev²znamnΘ chyby) | PHP 4 only |
256 | E_USER_ERROR | u╛ivatelsky generovanΘ chybovΘ zprßvy | PHP 4 only |
512 | E_USER_WARNING | u╛ivatelsky generovanß varovßnφ | PHP 4 only |
1024 | E_USER_NOTICE | u╛ivatelsky generovanΘ informativnφ zprßvy | PHP 4 only |
E_ALL | v╣echny z uveden²ch, kterΘ jsou danou verzφ PHP podporovßny |
V²╣e uvedenΘ hodnoty (a╗ ji╛ ΦφselnΘ nebo symbolickΘ) se pou╛φvajφ pro sestavenφ bitovΘ masky, kterß specifikuje, kterΘ chyby se majφ oznamovat. M∙╛ete pou╛φvat bitovΘ logickΘ operßtory pro kombinaci hodnot nebo maskovßnφ urΦit²ch druh∙ chyb. Uv∞domte si, ╛e v souboru php.ini budou sprßvn∞ interpretovßny pouze operßtory '|', '~', '!', a '&', a ╛e v php3.ini nelze pou╛φt ╛ßdnΘ z t∞chto operßtor∙.
V PHP 4 je jako implicitnφ hodnota pro error_reporting nastaveno E_ALL & ~E_NOTICE, tzn. hlß╣enφ v╣ech chyb a varovßnφ, kterΘ nejsou na ·rovni E_NOTICE. V PHP 3 je implicitnφ (E_ERROR | E_WARNING | E_PARSE), co╛ znamenß totΘ╛. Uv∞domte si, ╛e v souboru php3.ini nelze pou╛φvat konstanty, a proto nastavenφ error_reporting musφ b²t numerickΘ; tedy nap°φklad 7.
Inicißlnφ nastavenφ m∙╛e b²t v ini souboru zm∞n∞no direktivou error_reporting, v serveru Apache v souboru httpd.conf direktivou php_error_reporting (php3_error_reporting v PHP 3), a koneΦn∞ m∙╛e b²t tΘ╛ nastaveno skriptem za pou╛itφ funkce error_reporting().
Varovßnφ |
Pokud upgradujete k≤d nebo server z PHP 3 na PHP 4, m∞li byste ov∞°it tato nastavenφ a volßnφ error_reporting() anebo potlaΦit hlß╣enφ nov²ch typ∙ chyb, zvlß╣t∞ E_COMPILE_ERROR. To m∙╛e vΘst k vyprßzdn∞nφ obsahu dokument∙ bez jakΘkoli informace o tom, co se stalo a kde hledat problΘm. |
V╣echny PHP v²razy mohou b²t takΘ volßny s prefixem "@", kter² vypφnß hlß╣enφ chyb pro tento jedin² v²raz. Pokud b∞hem provßd∞nφ v²razu nastane chyba a volba track_errors je zapnutß, najdete chybovou zprßvu v globßlnφ prom∞nnΘ $php_errormsg.
Poznßmka: Prefixov²m operßtorem °φzenφ chyb @ nelze potlaΦit chybovß hlß╣enφ o syntaktick²ch chybßch.
Varovßnφ |
V souΦasnosti prefixov² operßtor °φzenφ chyb v p°φpad∞ kritick²ch chyb (kterΘ ukonΦφ provßd∞nφ skriptu) pouze potlaΦφ chybovΘ hlß╣enφ. Jin²mi slovy, pokud pou╛ijete @ k potlaΦenφ chyb z jistΘ funkce, kterß nenφ dostupnß nebo byla chybn∞ zapsßna, skript zde skonΦφ, ani╛ by indikoval proΦ. |
Nφ╛e uveden² p°φklad ukazuje pou╛itφ schopnostφ zpracovßnφ chyb v PHP. Definujeme funkci zpracovßnφ chyb, kterß zaznamenßvß informace do souboru (v XML formßtu) a v p°φpad∞ kritickΘ chyby ode╣le e-mailovou zprßvu v²vojß°i.
Funkce pro zpracovßnφ a zßznam chyb.Viz takΘ error_reporting(), error_log(), set_error_handler(), restore_error_handler(), trigger_error(), user_error()
P°edchßzejφcφ | Dom∙ | Dal╣φ |
Vlastnosti | Nahoru | Tvorba a ·pravy obrßzk∙ |