PHP Error og Logging Funktioner

PHP Error Introduktion

Error og Logging-funktioner giver dig mulighed for at håndtere og registrere fejl.

Error-funktioner giver brugeren mulighed for at definere fejlhåndteringsregler og ændre måden, fejloplysninger registreres på.

Logging-funktioner giver brugeren mulighed for at logge applikationer og sende logbeskeder til e-mail, systemlogs eller andre maskiner.

error-funktioner bruges til at fuldføre fejlhåndtering og logning.

error-funktioner giver os mulighed for at definere vores egne fejlhåndteringsregler og ændre måden, fejloplysninger registreres på.

logging-funktioner giver os mulighed for at sende beskeder direkte til andre maskiner, e-mail eller systemlogs.

error reporting-funktioner giver os mulighed for at bestemme fejltype og -niveau.

Installation

PHP error-funktioner er en del af PHP-kernen. Disse funktioner skal ikke installeres for at kunne bruges.

Runtime konfiguration

Opførslen af error-funktionen påvirkes af indstillingerne i php.ini.

Fejl og logning konfigurationsindstillinger er som følger:

Navn Standardværdi Beskrivelse Kan ændres inden for
error_reporting NULL Indstil fejlrapportningsniveau (integer eller navngivet konstant). PHP_INI_ALL
display_errors "1"

Bestem om fejl skal vises som output på skærmen eller skjules for brugeren.

Bemærk:Denne funktion bør ikke bruges i produktionsmiljøer (kun understøttet til udvikling).

PHP_INI_ALL
display_startup_errors "0"

Selvom display_errors er sat til aktiveret, vil PHP's opstartsfel ikke blive vist.

Kommentar: Det anbefales kraftigt at sætte display_startup_errors til afslået medmindre det er nødvendigt til fejlfinding.

PHP_INI_ALL
log_errors "0"

Indstil om skriptets fejlmeddelelser skal registreres i serverens fejllog eller error_log.

Kommentar: Dette er en specifik konfigurationsindstilling relateret til serveren.

Kommentar: Det anbefales kraftigt at bruge fejllogning til at registrere visede fejl på webstedet i produktionsmiljøer.

PHP_INI_ALL
log_errors_max_len "1024"

Indstil maksimalt antal bytes for log_errors. error_log tilføjer information om fejlkilden.

Standardværdien er 1024, hvis indstillet til 0 betyder det ingen begrænsning.

Indstillingen af længden påføres til at registrere fejl, vise fejl og begrænse $php_errormsg.

PHP_INI_ALL
ignore_repeated_errors "0"

Bestem om gentagne fejlmeddelelser skal logges.

Gentagne fejl skal optræde på samme linje i samme fil, medmindre ignore_repeated_source sættes til true.

PHP_INI_ALL
ignore_repeated_source "0"

Bestem om gentagne fejlmeddelelser skal logges. Når gentagne beskeder ignoreres, ignoreres også beskedens kilde.

Når denne indstilling er aktiveret, logges gentagne informationer ikke afhængigt af forskellige filer eller forskellige kildestræk.

PHP_INI_ALL
report_memleaks "1" Hvis parameteren sættes til On (standard), vises rapporter om memory leaks detekteret af Zend-memorymanageren. PHP_INI_ALL
track_errors "0" Hvis aktiveret, vil den seneste fejl altid være til stede i variablen $php_errormsg. PHP_INI_ALL
html_errors "1" Deaktiver HTML-tag i fejlmeddelelser.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM i PHP <= 4.2.3.
xmlrpc_errors "0" Hvis aktiveret, slås normalt fejlrapportering fra og sæt fejlformatet til XML-RPC-fejlmeddelelsesformatet. PHP_INI_SYSTEM
xmlrpc_error_number "0" Bruges som værdi for XML-RPC faultCode-elementet. PHP_INI_ALL
docref_root "" (tilgængelig siden PHP 4.3) PHP_INI_ALL
docref_ext "" (tilgængelig siden PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL Bestem den strenge, der skal outputtes før fejlinformationen. PHP_INI_ALL
error_append_string NULL Bestem den strenge, der skal outputtes efter fejlinformationen. PHP_INI_ALL
error_log NULL

Indstil filen, hvor skriptets fejl skal logges. Filen skal være skrivbar af webserverens bruger.

Hvis speciel værdi syslog bruges, send fejlinformation til systemlogarithmer.

PHP_INI_ALL

PHP Error og Logging Funktioner

Funktion Beskrivelse
debug_backtrace() Generer backtrace.
debug_print_backtrace() Print backtrace.
error_get_last() Returner den sidst opståede fejl.
error_log() Send fejlmeddelelser til serverens fejllog, fil eller fjernlig mål.
error_reporting() Bestem hvilken fejl der skal rapporteres.
restore_error_handler() Gendan tidligere fejlhåndteringsprogram.
restore_exception_handler() Gendan tidligere undtagelseshåndterer.
set_error_handler() Indstil brugerdefineret håndtering af fejl.
set_exception_handler() Indstil brugerdefineret håndtering af undtagelser.
trigger_error() Opret brugerdefinerede fejlmeddelelser.
user_error() Alias for trigger_error()

PHP 5 prædefinerede fejl- og logkonstanter

Værdi Konstant Beskrivelse
1 E_ERROR Fatale fejl ved kørselstid. Uoprettelige fejl. Stopper udførelsen af skriptet.
2 E_WARNING Ikke-fatale fejl ved kørselstid. Fejlene stopper ikke udførelsen af skriptet.
4 E_PARSE Syntaksfejl ved kompilerings tid. Fejlrapporteringen genereres kun af analysatoren.
8 E_NOTICE Kørselstidens notifikation. Angiver, at skriptet møder en situation, der kan udtrykkes som en fejl, men kan også forekomme i et normalt kørende skript.
16 E_CORE_ERROR Fatalt fejl, der opstår under PHP's initieringsstartproces. Fejlen ligner E_ERROR, men genereret af PHP-motorens kerne.
32 E_CORE_WARNING Advarsler, der opstår under PHP's initieringsstartproces (ikke-fatal fejl). Lignende E_WARNING, men genereret af PHP-motorens kerne.
64 E_COMPILE_ERROR Fatalt kompileringsfejl. Lignende E_ERROR, men genereret af Zend-script enginen.
128 E_COMPILE_WARNING Advarsler ved kompilerings tid (ikke-fatal fejl). Lignende E_WARNING, men genereret af Zend-script enginen.
256 E_USER_ERROR Fejlmeddelelser genereret af brugeren. Lignende E_ERROR, men genereret af brugeren selv ved brug af PHP-funktionen trigger_error().
512 E_USER_WARNING Advarsler genereret af brugeren. Lignende E_WARNING, men genereret af brugeren selv ved brug af PHP-funktionen trigger_error().
1024 E_USER_NOTICE Notifikationer genereret af brugeren. Lignende E_NOTICE, men genereret af brugeren selv ved brug af PHP-funktionen trigger_error().
2048 E_STRICT Aktivér PHP's forslag til kodeændringer for at sikre optimal interoperabilitet og fremtidig kompatibilitet.
4096 E_RECOVERABLE_ERROR K捕捉able kritiske fejl. Det betyder, at der er opstået en meget farlig fejl, men PHP-motoren er endnu ikke i en ustabil tilstand. Hvis denne fejl ikke bliver fanget af en brugerdefineret håndterer (se set_error_handler()), vil den blive en E_ERROR, og skriptet vil stoppe med at køre.
8192 E_DEPRECATED Kørings tid advarsler. Når aktiveret, vil det give advarsler til kode, der muligvis ikke vil fungere korrekt i fremtidige versioner.
16384 E_USER_DEPRECATED Advarselsinformationer genereret af brugeren. Lignende E_DEPRECATED, men genereret af brugeren selv ved brug af PHP-funktionen trigger_error() i koden.
32767 E_ALL E_STRICT med undtagelse af alle fejl- og advarselsinformationer.