PHP Error och Logging-funktioner

PHP Error Introduktion

Error och Logging-funktioner tillåter dig att hantera och logga fel.

Error-funktioner tillåter användare att definiera felhanteringsregler och ändra sättet att logga fel.

Logging-funktioner tillåter användare att logga applikationer och skicka loggmeddelanden till e-post, systemloggar eller andra maskiner.

error-funktioner används för att slutföra felhantering och loggning.

error-funktioner tillåter oss att definiera egna felhanteringsregler och ändra sättet att logga fel.

logging-funktioner tillåter oss att skicka meddelanden direkt till andra maskiner, e-post eller systemloggar.

error reporting-funktioner tillåter oss att definiera feltyp och nivå.

Installering

PHP error-funktioner är en del av PHP-kärnan. Dessa funktioner behöver inte installeras för att användas.

Körningskonfiguration

Beteendet för error-funktionen påverkas av inställningarna i php.ini.

Alternativ för fel och loggning är följande:

Namn Standardvärde Beskrivning Modificeringsområde
error_reporting NULL Ställ in nivån för felrapportering (heltal eller namngivna konstanter). PHP_INI_ALL
display_errors "1"

Definiera om fel ska skrivas ut som output till skärmen eller döljas för användaren.

Observera:Denna funktion bör inte användas i produktionsmiljöer (endast stöd för utveckling).

PHP_INI_ALL
display_startup_errors "0"

Även om display_errors är aktiverat, visas inte felmeddelanden från PHP-startprocessen.

Kommentar: Det rekommenderas starkt att stänga av display_startup_errors utom för debugningsändamål.

PHP_INI_ALL
log_errors "0"

Ställ in om felmeddelanden från skriptets körning ska loggas i serverns fellogg eller error_log.

Kommentar: Detta är en specifik konfigurationspost som är relaterad till servern.

Kommentar: Det rekommenderas starkt att använda felloggar för att logga felmeddelanden som visas på webbplatsen i produktionsmiljöer.

PHP_INI_ALL
log_errors_max_len "1024"

Ställ in den maximala mängden bytes för log_errors. Error_log lägger till information om felkällan.

Standardvärdet är 1024, om inställningen är 0 innebär det obegränsad längd.

Inställningen för längd påverkar fel som registreras, fel som visas och $php_errormsg.

PHP_INI_ALL
ignore_repeated_errors "0"

Bestäm om upprepade felmeddelanden ska loggas.

Upprepade fel måste dyka upp på samma rad i samma fil, om inte ignore_repeated_source sätts till true.

PHP_INI_ALL
ignore_repeated_source "0"

Bestäm om upprepade felmeddelanden ska loggas. När upprepade meddelanden ignoreras, ignoreras också meddelandets källa.

När inställningen är aktiverad kommer upprepade meddelanden inte att loggas beroende på om de genereras av olika filer eller olika källkodsrader.

PHP_INI_ALL
report_memleaks "1" Om parametern sätts till On (standard), kommer rapporter om minnesläckor som upptäcks av Zend-minneshanteraren att visas. PHP_INI_ALL
track_errors "0" Om aktiverat kommer den senaste felet alltid att finnas i variabeln $php_errormsg. PHP_INI_ALL
html_errors "1" Stäng HTML-taggar i felmeddelandena.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM i PHP <= 4.2.3.
xmlrpc_errors "0" Om aktiverat, stäng vanlig felrapportering och ställ in felformatet till XML-RPC-felmeddelandens format. PHP_INI_SYSTEM
xmlrpc_error_number "0" Används som värde för XML-RPC faultCode-elementet. PHP_INI_ALL
docref_root "" (Tillgängligt sedan PHP 4.3) PHP_INI_ALL
docref_ext "" (Tillgängligt sedan PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL Bestäm vilken sträng som ska utmatas före felinformationen. PHP_INI_ALL
error_append_string NULL Bestäm vilken sträng som ska utmatas efter felinformationen. PHP_INI_ALL
error_log NULL

Ställ in vilken fil skriptfel kommer att loggas till. Filen måste vara skrivbar av webbserverns användare.

Om den speciella värdet syslog används, skicka felinformation till systemloggningsregistraren.

PHP_INI_ALL

PHP Error och Logging-funktioner

Funktion Beskrivning
debug_backtrace() Generera backtrace.
debug_print_backtrace() Skriv ut backtrace.
error_get_last() Återge den senaste inträffade felet.
error_log() Skicka felmeddelanden till serverns felloggning, fil eller fjärrmål.
error_reporting() Bestäm vilken fel som ska rapporteras.
restore_error_handler() Återställ tidigare felhanteringsprogram.
restore_exception_handler() Återställ tidigare undantagshanterare.
set_error_handler() Ställ in en användardefinierad hanterare för fel.
set_exception_handler() Ställ in en användardefinierad hanterare för undantag.
trigger_error() Skapa felmeddelanden på användarnivå.
user_error() Alias för trigger_error()

Fördefinierade fel- och loggkonstanter i PHP 5

Värde Konstant Beskrivning
1 E_ERROR Fatalt fel vid körningstid. Kan inte åtgärdas. Stoppar körningen av skriptet.
2 E_WARNING Icke-fatala fel vid körningstid. Det stoppar inte körningen av skriptet.
4 E_PARSE Syntaksfel vid kompilering. Analyseraren genererar endast parsefel.
8 E_NOTICE Notifikationer vid körningstid. Indikerar att skriptet möter situationer som kan uppträda som fel, men kan också finnas i skript som fungerar normalt.
16 E_CORE_ERROR Fatalt fel som uppstår under PHP:s initieringsstart. Felen liknar E_ERROR, men genererade av PHP-motorns kärna.
32 E_CORE_WARNING Varningar som uppstår under PHP:s initieringsstart (icke-fatala fel). Liknande E_WARNING, men genererade av PHP-motorns kärna.
64 E_COMPILE_ERROR Fatalt kompilationsfel. Liknande E_ERROR, men genererade av Zend-skriptmotorn.
128 E_COMPILE_WARNING Varningar vid kompilering (icke-fatala fel). Liknande E_WARNING, men genererade av Zend-skriptmotorn.
256 E_USER_ERROR Användargenererade felmeddelanden. Liknande E_ERROR, men genererade av användaren själv genom att använda PHP-funktionen trigger_error() i koden.
512 E_USER_WARNING Användargenererade varningar. Liknande E_WARNING, men genererade av användaren själv genom att använda PHP-funktionen trigger_error() i koden.
1024 E_USER_NOTICE Användargenererade meddelanden. Liknande E_NOTICE, men genererade av användaren själv genom att använda PHP-funktionen trigger_error() i koden.
2048 E_STRICT Aktivera PHP för att ge förslag på ändringar i koden för att säkerställa bästa interoperabilitet och kompatibilitet framåt.
4096 E_RECOVERABLE_ERROR Känsliga fel som kan fångas. Detta betyder att ett mycket farligt fel har inträffat, men att PHP-motorn fortfarande är stabil. Om detta fel inte fångas av användarens anpassade hanterare (se set_error_handler()), kommer det att bli ett E_ERROR och skriptet kommer att avslutas.
8192 E_DEPRECATED Körningstidsnotiser. När aktiverade kommer det att ge varningar för kod som kan fungera felaktigt i framtida versioner.
16384 E_USER_DEPRECATED Varningar genererade av användaren. Liknande E_DEPRECATED, men genereras av användaren själv genom att använda PHP-funktionen trigger_error() i koden.
32767 E_ALL E_STRICT för alla fel- och varningsmeddelanden utom de som specificerats annars.