DatorerFiltyper

Utmatning av fel i PHP

Oavsett hur snygg och uppmärksam webbprogrammeraren var kan det finnas misstag och felaktigheter under hans arbete. Detta kan leda till att webbplatsen eller tjänsten misslyckas. För debugging under projektutveckling är det möjligt att inkludera felutgång i PHP.

Hur fungerar det?

PHP svarar verkligen på den här eller den här skriptkoden. I vissa fall - att utföra nödvändig åtgärd, i andra - visar ett fel. Denna mekanism hjälper utvecklaren vid tidpunkten för genomförandet av kodavsnittet för att snabbt rätta till bristerna.

Utmatningen av fel i PHP behövs emellertid inte alltid. Efter att projektets utveckling har slutförts, är denna funktion inaktiverad för att undvika hacking eller obehörig åtkomst.

justering

För hela konfigurationen av PHP-tolk svarar php.ini-filen. Det har ett error_reporting-direktiv, som bara definierar resultatet av fel i PHP. Men även om det innehåller undantagshantering, svarar display_errors för att visa dem i webbläsarfönstret. Om den är inaktiverad visar systemet en tom sida istället för ett fel.

Klassificering av undantag

Utgången av fel i PHP kan delas upp i flera kategorier:

  • Fel, vilket leder till att manuset slutar fungera. Den så kallade, dödliga. Dessa inkluderar E_ERROR, E_COMPILE_ERROR;

  • Fel som kan elimineras. Deras värden för error_reporting direktivet kan vara: E_WARNING, E_NOTICE och andra.

Det är värt att överväga varje typ och beskriva dess funktionella.

  • E_ERROR. Vanligtvis refererar denna typ till sådana fel som inte kan elimineras snabbt eller fortsätta att utföra skriptet. Detta kan innefatta problem med minnesallokering;

  • E_WARNING. Koden fortsätter att fungera, men en varning kommer att visas att det finns något fel, vars kod anges i meddelandet. Inte kritisk;

  • E_NOTICE. Meddelanden som visar: Det har hänt något som kan orsaka ett fel. Också inte kritiskt för kodkörning;

  • E_USER_ERROR. Fel som genereras av användaren;

  • E_ALL. Detta inkluderar alla typer av fel. Vanligtvis är detta alternativ aktiverat som standard när du installerar tolken.

Hur aktiverar du felutmatning i PHP

Metoden att använda felmekanismer i PHP kan variera beroende på var koden tillämpas - på en värd eller på en lokal dator. I det andra fallet kan utvecklaren konfigurera sin server och bildskärm som han önskar, nämligen ändra konfigurationen i php.ini-filen. Det räcker att ge två direktiv - display_errors and error_reporting till följande formulär:

Display_errors on

Error_reporting E_ALL

Dessa kommandon visar alla felmeddelanden direkt i webbläsarfönstret.

Om utvecklingen utförs på en virtuell värd, då är funktionen för felvisning vanligtvis avstängd av säkerhetsskäl. För att aktivera det måste du använda konfigurationsfilen för Apache htaccess-servern. Vanligtvis ligger det i platsens rot. Du måste lägga till ett par rader till det med någon textredigerare:

Php_flag display_errors on

Php_value felrapportering -1

Du kan också skriva ut fel direkt från koden med funktionen ini_set (). Det bör emellertid komma ihåg att efter applikationens utveckling kan dess tillämpning orsaka säkerhetsproblem.

Skriv till fil

Med PHP kan du spara alla fel som uppstod på en viss plats på hårddisken. För att inkludera utmatningen av PHP-fel i en fil kan du använda tre metoder:

  1. Redigera php.ini-filen. Här måste du definiera två linjer. Den första är log_errors = På, vilket faktiskt aktiverar utmatningsfunktionen. Den andra är error_log = path / till önskad / fil.

  2. Redigera htaccess. Du kan också lägga till två rader till den. Php_value log_errors "on" och php_value error_log path / till filen.

  3. Använd ini_set-funktionen på den önskade platsen för kod.

slutsats

Utmatningen av fel i PHP är ett nödvändigt verktyg i felsökningskoden. Men det kan också skapa potentiellt utsatta områden. Därför är det nödvändigt att använda denna mekanism noga och noggrant. När webbplatsen eller tjänsten har passerat alla provningsfaser måste du se till att det inte visar fel som gör det möjligt för en angripare att få tillgång till viktig data.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sv.birmiss.com. Theme powered by WordPress.