Grundläggande fel

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Grunderna

PHP rapporterar fel som svar på ett antal interna felvillkor. Dessa kan användas för att signalera en mängd olika situationer och kan visas och/eller loggas efter behov.

Varje fel som PHP genererar inkluderar en typ. En lista över dessa feltyper finns tillgänglig, tillsammans med en kort beskrivning av deras beteende och hur de kan orsakas.

Hantering av fel med PHP

Om ingen felhanterare är inställd, kommer PHP att hantera eventuella fel som uppstår enligt dess konfiguration. Vilka fel som rapporteras och vilka som ignoreras styrs av direktivet error_reporting i php.ini, eller under körning genom att anropa error_reporting(). Det rekommenderas starkt att konfigurationsdirektivet ställs in, eftersom vissa fel kan uppstå innan skriptets körning börjar.

I en utvecklingsmiljö bör du alltid ställa in error_reporting till E_ALL, eftersom du behöver vara medveten om och åtgärda de problem som PHP påpekar. I produktion kanske du vill ställa in detta till en mindre detaljerad nivå, som E_ALL & ~E_NOTICE & ~E_DEPRECATED, men i många fall är E_ALL också lämpligt, eftersom det kan ge tidiga varningar om potentiella problem.

Vad PHP gör med dessa fel beror på två ytterligare direktiv i php.ini. display_errors styr om felet visas som en del av skriptets utdata. Detta bör alltid vara inaktiverat i en produktionsmiljö, eftersom det kan inkludera konfidentiell information såsom databaslösenord, men det är ofta användbart att aktivera i utveckling, eftersom det säkerställer omedelbar rapportering av problem.

Förutom att visa fel kan PHP logga fel när direktivet log_errors är aktiverat. Detta loggar alla fel till den fil eller syslog som definieras av error_log. Detta kan vara extremt användbart i en produktionsmiljö, eftersom du kan logga uppkomna fel och sedan generera rapporter baserade på dessa fel.

Användardefinierade felhanterare

Om PHP:s standardfelhantering är otillräcklig kan du också hantera många typer av fel med din egen anpassade felhanterare genom att installera den med set_error_handler(). Även om vissa feltyper inte kan hanteras på detta sätt, kan de som kan hanteras hanteras på det sätt som ditt skript finner lämpligt: till exempel kan detta användas för att visa en anpassad felsida för användaren och sedan rapportera mer direkt än via en logg, till exempel genom att skicka ett e-postmeddelande.

Sidslut

Orginalhemsidan på Engelska : https://www.php.net/manual/en/language.errors.basics.php
PHP
Språkreferens
Språkreferens#Fel


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/