Pomozte vývoji webu a sdílení článku s přáteli!

Úvod do error_reporting() v PHP

V různých úrovních chyb, které má PHP, error_reporting je funkce v PHP, která označuje, jaké chyby jsou hlášeny, a určuje direktivu error_reporting během běhu. Pomocí této funkce můžeme nastavit předepsanou úroveň pro požadovanou dobu (obvykle běh) našeho skriptu. Vrátí starou úroveň hlášení chyb na základě zadaného vstupu nebo současnou úroveň hlášení, pokud není zadán žádný parametr.

Syntaxe s parametry

Následuje syntaxe s parametry:

Syntaxe:

error_reporting(level)

Parametry:

Existuje pouze jedna úroveň parametrů, která je volitelná a jejíž vstupní funkce přebírá. Určuje úroveň hlášení chyb pro tento skript. Akceptované hodnoty jsou název konstanty a číslo hodnoty.

Poznámka: Pro zajištění kompatibility pro budoucí verze PHP se doporučují pojmenované konstanty.

Existuje několik předdefinovaných konstant, jejichž popis je uveden níže:

1. E_Error: Tyto indikují závažné chyby běhu, které nelze obnovit a provádění skriptu bude zastaveno.

2. E_Warning: Toto jsou nezávažné chyby, při kterých bude provádění skriptu pokračovat.

3. E_Parse: Toto ukazuje chyby analýzy v době kompilace, které mají být generovány pouze analyzátory.

4. E_Notice: Toto vydává upozornění za běhu, což znamená, že skript našel něco, co ukazuje chybu, ale k čemu může dojít i při spouštění normálního skriptu.

5. E_Core_Error: Během počátečního spuštění PHP může dojít k několika fatálním chybám, které jsou generovány jádrem PHP.

6. E_Core_Warning: Toto ukazuje nezávažné chyby, které vznikají během počátečního spuštění PHP, také generované jádrem PHP.

7. E_Compile_Error: Tyto zobrazují závažné chyby, ke kterým dochází během kompilace. Ty jsou generovány skriptovacím strojem Zend.

8. E_Compile_Warning: Podobné jako výše uvedené zobrazuje varování při kompilaci nebo je lze nazvat nezávažnými chybami a jsou také generovány skriptovacím enginem Zend.

9. E_User_Error: Toto zobrazuje chyby generované uživateli. Toto je podobné E_ERROR kromě toho, že je generováno pomocí funkce PHP v kódu PHP.

10. E_All: Toto je jako kombinace všech výše uvedených, která podporuje všechny chyby a varování kromě chyby E_STRICT.

Vrácené hodnoty:

Funkce error_reporting poskytuje starou úroveň hlášení nebo současnou úroveň hlášení chyb, pokud nejsou zadány žádné parametry.

Fungování chybového hlášení v PHP

Tato funkce umožňuje vývojáři skutečně kontrolovat různé druhy chyb a kolik takových chyb bude v aplikaci vyvoláno. Tato funkce nastavuje direktivu error_reporting, která bude přítomna v konfiguračním souboru PHP ini.

error_reporting(0);
  • Když je funkce hlášení chyb předána 0, odstraní všechna varování, chyby, analyzuje související zprávy a upozornění, pokud existují. Místo toho, abyste museli zahrnout tento řádek do každého souboru kódu PHP, je praktické jej přidat a vypnout tyto zprávy v přítomném souboru ini nebo v souboru .htaccess.
error_reporting(E_NOTICE);
  • V PHP lze proměnné používat, i když nejsou deklarovány. Tato praxe však není proveditelná, protože nedeklarované proměnné mohou způsobit problémy související s aplikací, pokud jsou použity v podmíněných příkazech a cyklech. K tomu může dojít také kvůli pravopisné neshodě mezi deklarovanými proměnnými a tím, že se používá pro podmínky a smyčky. Když bude toto E_NOTICE předáno do funkce error_reporting, teprve potom se tyto nedeklarované proměnné zobrazí ve webové aplikaci.
error_reporting(E_ALL & ~E_NOTICE);
  • Tato funkce hlášení chyb pomáhá odfiltrovat chyby, které lze zobrazit. Znak „~“ zde znamená „ne/ne“, a tedy ~E_NOTICE zde znamená nezobrazovat žádná upozornění. Zde znak „&“ představuje „pravda pro všechny“, zatímco „|“ znamená, pokud je jeden z parametrů pravdivý.Jsou přesně podobné funkcím AND a OR v PHP.
error_reporting(E_ALL); chybové hlášení(-1); ini_set('error_reporting', E_ALL);
  • Všechny výše uvedené řádky slouží stejnému účelu, tj. zobrazují všechny chyby. E_ALL je nejrozšířenější funkce mezi všemi ostatními vývojáři k zobrazení chybových zpráv, protože je srozumitelnější a srozumitelnější.

Chyba při přihlašování v PHP pomocí funkce error_log()

Stává se to tak, že během produkční fáze mají být chybové zprávy skryty před koncovými uživateli, ale tyto informace je nutné registrovat pro účely sledování. A nejlepší způsob, jak zaznamenat tyto chyby v produkční webové aplikaci, je zapsat a uložit do souborů protokolu.

Snadný způsob, jak je zaprotokolovat, je pomocí funkce error_log, která bere naše parametry jako vstup. Jediným povinným parametrem je zde první, který obsahuje podrobnosti o chybách a o tom, co vše se má protokolovat.Ostatní parametry, jako je typ, cíl a záhlaví, zde pro tuto funkci nejsou povinné.

"error_log(Chyba nalezena!, 0);"
  • Parametr type bude ve výchozím nastavení nastaven na 0, pokud nebude uveden, a informace protokolu budou připojeny na konec souboru protokolu vygenerovaného na webovém serveru.
"error_log(Informace o chybě jsou odesílány e-mailem!, 1, [email protected]);"
  • Parametr typu zde je 1 odešle e-mailem tento protokol uvedený ve 3. parametru, což je e-mailové ID. Aby to fungovalo, soubor PHP ini musí mít správnou konfiguraci SMTP pro odesílání e-mailů. Některé z požadovaných parametrů zahrnují hostitele, typ šifrování, port, heslo a uživatelské jméno.
"error_log(Zapište chyby do tohoto souboru, 3, https://cdn.educba.com/tmp/errorfile.log);"
  • Stejné chybové protokoly lze také zapsat do požadovaného souboru, jehož cesta bude uvedena ve třetím parametru. Ujistěte se, že daná cesta má všechna požadovaná oprávnění.

Příklad error_reporting() v PHP

Níže je uveden příklad:

Kód:

Výstup:

Výhody použití funkce error_reporting v PHP

  • error_reporting je dobré pro účely ladění a pro vývoj webových aplikací.
  • Každou chybu lze pomocí této funkce zaprotokolovat a opravit, jakmile k ní dojde.
  • Chcete-li jej nezobrazovat koncovému uživateli, ujistěte se, že jste chyby při jeho uvolnění přesměrovali do souboru protokolu.

Závěr

Můžeme tedy říci, že funkce error_reporting() v PHP jsou proto užitečné v případech, kdy je s webovou aplikací PHP mnoho problémů a potřebujeme zobrazit všechny tyto chyby a varování buď pro účely vývoje nebo ladění .Je to funkce, kterou můžeme povolit různé druhy varování nebo chybových hlášení a většina z nich je popsána výše.

Doporučené články

Toto je průvodce error_reporting() v PHP. Zde probíráme úvod, fungování error_reporting v PHP, protokolování chyb v PHP pomocí funkce error_log() a výhody. Můžete se také podívat na následující články, kde se dozvíte více -

  1. Značka PHP v HTML
  2. Ověření v PHP
  3. Datový objekt PHP
  4. Rozhraní PHP

Pomozte vývoji webu a sdílení článku s přáteli!