DatamaskinerFiltyper

Feil Output i PHP

Uansett omsorg og oppmerksomhet var ikke en web-programmerer, mens det er utsatt for feil og unøyaktigheter. Som et resultat, kan dette føre til feil nettsted eller tjeneste. For debugging under utviklingen av prosjektet er det mulig å inkludere utgangen av feil i PHP.

Hvordan virker det?

PHP er definitivt reagerer på en bestemt skriptkode. I noen tilfeller - iverksette nødvendige tiltak, i andre - viser en feil. Denne mekanismen bidrar utbygger på tidspunktet for gjennomføringen av koden delen for å rette feil så raskt som mulig.

Imidlertid er feil utgang i PHP ikke alltid nødvendig. Etter at utviklingen av prosjektet er fullført, blir denne funksjonen slått av for å unngå innbrudd eller uautorisert tilgang.

justering

I hele konfigurasjonen av PHP tolk er ansvarlig php.ini fil. Det har error_reporting direktiv som er nøyaktig definerer feilutgangen i PHP. Men selv om det inkluderer avvikshåndtering, for å vise dem i nettleservinduet ansvarlige display_errors. Hvis det er deaktivert, viser systemet en feilmelding i stedet for en blank side.

klassifisering unntak

Feil Output i PHP kan deles inn i flere kategorier:

  • Feil som resulterer i manuset slutter å fungere. Den såkalte dødelig. Disse inkluderer E_ERROR, E_COMPILE_ERROR;

  • feil som kan rettes opp. Deres verdier for error_reporting direktivet kan være: E_WARNING, E_NOTICE og andre.

Det er verdt en nærmere titt på hver type og beskrive sin funksjonalitet.

  • E_ERROR. Vanligvis refererer denne typen til slike feil, som ikke kan elimineres raskt eller fortsette skriptet. Dette kan blant annet problemer med minnetildeling;

  • E_WARNING. Koden vil fortsette å jobbe, men en advarsel vises at det er noen feil, koden er angitt i meldingen. Er ikke kritisk;

  • E_NOTICE. Meldinger, som viser at det var noe som kunne ha forårsaket feilen. De er heller ikke kritisk til gjennomføringen av koden;

  • E_USER_ERROR. Feil som genereres av brukeren;

  • E_ALL. Dette inkluderer alle typer feil. Vanligvis er dette alternativet er aktivert som standard når du installerer tolk.

Hvordan du aktiverer feil utgang i PHP

Den teknikk som brukes i PHP feilmekanisme kan variere avhengig av hvor koden er brukt - i fiendtlig eller på den lokale datamaskin. I det andre tilfellet, kan utvikleren tilpasse serveren din og vise som han ønsker - nemlig å endre konfigurasjonen i php.ini filen. For å sitere to direktivene - display_errors og error_reporting til følgende form:

display_errors på

error_reporting E_ALL

Disse kommandoene tillater å vise alle feilmeldinger direkte i nettleservinduet.

Dersom utbyggingen skjer på en virtuell server, ofte feilvisning, slå av sikkerhetsmessige grunner. Derfor, behovet for å aktivere den for å bruke Apache htaccess serverinnstillingene fil. Vanligvis er det ved roten av nettstedet. Du må legge til et par linjer i en tekst editor:

php_flag display_errors på

php_value feilrapportering -1

Også vise feil kan være direkte fra koden ved hjelp ini_set () -funksjonen. Det bør imidlertid være oppmerksom på at etter utbyggingen av området av bruken kan føre til sikkerhetsproblemer.

filing

PHP kan du lagre alle feil som oppstår på et bestemt sted på harddisken. For å aktivere PHP feil i produksjonen fil, kan du bruke tre måter:

  1. Redigere php.ini filen. Her er det nødvendig å definere to linjer. Først - log_errors = On, som faktisk aktiverer evnen til utgang. Sekund - error_log = sti / til den ønskede / fil.

  2. Endre htaccess. Det er også mulig å legge til de to linjene. php_value log_errors «på» og php_value error_log sti / fil.

  3. Bruk riktig sted koden ini_set funksjon.

konklusjon

Feil Output i PHP - et viktig verktøy for å feilsøke kode. Men det kan også skape et potensielt sårbart område. Bruk derfor denne mekanismen må du nøye og nøyaktig. Når et område eller en tjeneste gikk gjennom alle stadier av testing, må du passe på å sikre at det ikke viser feilen, der en angriper kan få tilgang til sensitive data.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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