PHP Error en Logging Functies

PHP Error Inleiding

Error en Logging-functies stellen u in staat om fouten te verwerken en te registreren.

Error-functies stellen gebruikers in staat om foutafhandlingsregels te definiëren en de manier waarop fouten worden geregistreerd, te wijzigen.

Logging-functies stellen gebruikers in staat om applicaties te loggen en logberichten naar e-mail, systeemlogboeken of andere machines te sturen.

De error-functie wordt gebruikt voor foutafhandeling en logboekopname.

De error-functie stelt ons in staat om onze eigen foutafhandlingsregels te definiëren en de manier waarop fouten worden geregistreerd, te wijzigen.

Logging-functies stellen ons in staat om berichten direct naar andere machines, e-mail of systeemlogboeken te sturen.

De error reporting-functie stelt ons in staat om het type en het niveau van fouten te bepalen.

Installatie

De PHP error-functie is onderdeel van het PHP-kern. Deze functies hoeven niet te worden geïnstalleerd om te gebruiken.

Runtime-configuratie

Het gedrag van de error-functie wordt beïnvloed door de instellingen in php.ini.

De configuratieopties voor Errors en logging zijn als volgt:

Naam Standaardwaarde Beschrijving Bereikbaarheidsgebied
error_reporting NULL Stel het foutmeldingsniveau in (geheel getal of genaamd constante). PHP_INI_ALL
display_errors "1"

Bepaal of fouten moeten worden weergegeven als output op het scherm of verborgen voor de gebruiker.

Let op:Deze functie zou niet in productiesystemen moeten worden gebruikt (ondersteunt alleen ontwikkeling).

PHP_INI_ALL
display_startup_errors "0"

Zelfs als display_errors is ingesteld op aan, worden foutinformatie tijdens het starten van PHP niet weergegeven.

Opmerking: Het wordt sterk aanbevolen om display_startup_errors buiten het debugdoeleinde uit te schakelen.

PHP_INI_ALL
log_errors "0"

Stel in of foutinformatie van het script moet worden geregistreerd in het serverfoutlogboek of error_log.

Opmerking: Dit is een specifieke configuratieoptie die gerelateerd is aan de server.

Opmerking: Het wordt sterk aanbevolen om in productiesystemen foutlogboeken te gebruiken om foutinformatie die op de website wordt weergegeven, te registreren.

PHP_INI_ALL
log_errors_max_len "1024"

Stel het maximale aantal bytes in voor log_errors. In error_log worden informatie over de bron van de fout toegevoegd.

De standaardwaarde is 1024, als het op 0 wordt ingesteld, betekent dit dat de lengte onbeperkt is.

De lengte instelling heeft een beperking voor de fouten die worden geregistreerd, de fouten die worden weergegeven en $php_errormsg.

PHP_INI_ALL
ignore_repeated_errors "0"

Stel in of herhaalde foutinformatie moet worden opgeslagen.

Herhaalde fouten moeten voorkomen in dezelfde regel van hetzelfde bestand, tenzij ignore_repeated_source op true is ingesteld.

PHP_INI_ALL
ignore_repeated_source "0"

Stel in of herhaalde foutinformatie moet worden opgeslagen. Bij het negeren van herhaalde berichten, wordt ook de bron van het bericht genegeerd.

Als deze instelling is ingeschakeld, worden herhaalde informatie niet opgeslagen, ongeacht of deze is gegenereerd door verschillende bestanden of verschillende regels van de broncode.

PHP_INI_ALL
report_memleaks "1" Als dit parameter is ingesteld op On (standaard), worden rapporten over geheugensleuken weergegeven die door de Zend geheugenzorg gemonitord worden. PHP_INI_ALL
track_errors "0" Als dit is ingeschakeld, blijft de laatste fout altijd bestaan in de variabele $php_errormsg. PHP_INI_ALL
html_errors "1" Schakel HTML tags uit in de foutinformatie.
  • PHP_INI_ALL
  • PHP_INI_SYSTEM in PHP <= 4.2.3.
xmlrpc_errors "0" Indien ingeschakeld, wordt het normale foutrapportage uitgeschakeld en wordt de foutopmaak ingesteld op het formaat van de XML-RPC foutinformatie. PHP_INI_SYSTEM
xmlrpc_error_number "0" Gebruikt als de waarde van het XML-RPC faultCode-element. PHP_INI_ALL
docref_root "" (beschikbaar vanaf PHP 4.3) PHP_INI_ALL
docref_ext "" (beschikbaar vanaf PHP 4.3.2) PHP_INI_ALL
error_prepend_string NULL Stel de te outputten string in voor de foutinformatie. PHP_INI_ALL
error_append_string NULL Stel de te outputten string in na de foutinformatie. PHP_INI_ALL
error_log NULL

Stel het bestand in waar de scriptfouten worden opgeslagen. Dit bestand moet beschrijfbaar zijn door de webservergebruiker.

Als de speciale waarde syslog wordt gebruikt, wordt de foutinformatie naar het systeemlogboek gestuurd.

PHP_INI_ALL

PHP Error en Logging Functies

Functie Beschrijving
debug_backtrace() Genereer de backtrace.
debug_print_backtrace() Print de backtrace.
error_get_last() Geef de laatste fout terug.
error_log() Stuur foutmeldingen naar de foutlog van de server, een bestand of een externe doel.
error_reporting() Stel in welke fouten moeten worden gerapporteerd.
restore_error_handler() Herstel de eerdere foutafhandeling.
restore_exception_handler() Herstel de eerdere uitzonderingsafhandlingsprogramma.
set_error_handler() Stel een gebruikersdefinieerde foutafhandlingsfunctie in.
set_exception_handler() Stel een gebruikersdefinieerde uitzonderingsafhandlingsfunctie in.
trigger_error() Maak gebruikersniveau foutmeldingen aan.
user_error() Alias voor trigger_error()

Vooraf gedefinieerde fout- en logboekconstante van PHP 5

Waarde Constante Beschrijving
1 E_ERROR Fatale fouten tijdens de runtime. Onherstelbare fouten. Stoppen van de uitvoering van het script.
2 E_WARNING Niet-fatale fouten tijdens de runtime. Stoppen van de uitvoering van het script niet.
4 E_PARSE Syntaxfouten bij het compileren. Analysefouten worden alleen gegenereerd door de analyzer.
8 E_NOTICE Notificaties tijdens de runtime. Betekent dat het script een situatie tegenkomt die mogelijk fout kan worden, maar die ook in een normaal functionerend script kan voorkomen.
16 E_CORE_ERROR Fatale fouten tijdens het initieel opstarten van PHP. Deze fout is soortgelijk aan E_ERROR, maar gegenereerd door het PHP-engine core.
32 E_CORE_WARNING Waarschuwingen tijdens het initieel opstarten van PHP (niet-fatale fouten). Soortgelijk aan E_WARNING, maar gegenereerd door het PHP-engine core.
64 E_COMPILE_ERROR Fatale fouten bij het compileren. Soortgelijk aan E_ERROR, maar gegenereerd door de Zend-script engine.
128 E_COMPILE_WARNING Waarschuwingen bij het compileren (niet-fatale fouten). Soortgelijk aan E_WARNING, maar gegenereerd door de Zend-script engine.
256 E_USER_ERROR Foutmeldingen gegenereerd door gebruikers. Soortgelijk aan E_ERROR, maar gegenereerd door de gebruiker zelf in de code met behulp van de PHP-functie trigger_error().
512 E_USER_WARNING Waarschuwingen gegenereerd door gebruikers. Soortgelijk aan E_WARNING, maar gegenereerd door de gebruiker zelf in de code met behulp van de PHP-functie trigger_error().
1024 E_USER_NOTICE Notificaties gegenereerd door gebruikers. Soortgelijk aan E_NOTICE, maar gegenereerd door de gebruiker zelf in de code met behulp van de PHP-functie trigger_error().
2048 E_STRICT Activeer de suggesties voor het wijzigen van PHP-code om ervoor te zorgen dat de code de beste interoperabiliteit en voorwaarts compatibiliteit heeft.
4096 E_RECOVERABLE_ERROR Opgevangen fatale fouten. Dit betekent dat een zeer gevaarlijke fout is opgetreden, maar dat de PHP-engine nog steeds in een stabiele toestand is. Als deze fout niet wordt opgevangen door een door de gebruiker aangepaste handler (zie set_error_handler()), wordt deze een E_ERROR en zal het script afsluiten.
8192 E_DEPRECATED Run-time meldingen. Wanneer deze ingeschakeld is, worden waarschuwingen gegeven voor code die mogelijk niet correct zal werken in toekomstige versies.
16384 E_USER_DEPRECATED Waarschuwingmeldingen gegenereerd door gebruikers. Soortgelijk aan E_DEPRECATED, maar gegenereerd door de gebruiker zelf door de PHP-functie trigger_error() in de code te gebruiken.
32767 E_ALL E_STRICT behalve alle fout- en waarschuwingmeldingen.