/ / Fejl output i php

PHP fejl output

Ligegyldigt hvor forsigtig og opmærksomWebprogrammerer, under hans arbejdsfejl og unøjagtigheder. Som følge heraf kan dette føre til fejl på webstedet eller tjenesten. For debugging under projektudvikling er det muligt at aktivere fejl output i PHP.

Hvordan virker det?

PHP reagerer ubetinget på denne eller den pågældende kode.scriptet. I nogle tilfælde - ved at udføre den nødvendige handling i andre - vises en fejl. Denne mekanisme hjælper udvikleren til hurtigt at rette fejlene på tidspunktet for implementeringen af ​​kodesegmentet.

php fejl output

Fejludgangen i PHP er dog ikke altid nødvendig. Når udviklingen af ​​projektet er afsluttet, er denne funktion deaktiveret for at undgå hacking eller uautoriseret adgang.

justering

Hele PHP-tolk konfigurationen er ansvarligphp.ini-fil Det har et error_reporting-direktiv, der definerer output af fejl i PHP. Men selvom det indeholder undtagelseshåndtering, er display_errors ansvarlig for at vise dem i browservinduet. Hvis den er deaktiveret, vil systemet vise en tom side i stedet for en fejl.

Undtagelsesklassifikation

Udgangen af ​​fejl i PHP kan opdeles i flere kategorier:

  • fejl, som et resultat af hvilket scriptet vil stoppe med at arbejde. Den såkaldte fatale. Disse omfatter E_ERROR, E_COMPILE_ERROR;

  • fejl, der kan løses. Deres værdier for fejlmeldingsdirektivet kan være: E_WARNING, E_NOTICE og andre.

Det er værd at overveje mere detaljeret hver type og beskrive dets funktionalitet.

  • E_ERROR. Typisk refererer denne type til sådanne fejl, som ikke kan elimineres hurtigst muligt eller fortsætter udførelsen af ​​scriptet. Dette kan omfatte problemer med hukommelseallokering;

  • E_WARNING. Koden fortsætter sit arbejde, men der vises en advarsel om, at der er en fejl, hvis kode er angivet i meddelelsen. Ikke kritisk;

  • E_NOTICE. Meddelelser, der viser: Der er sket noget, der kan forårsage en fejl. Også ikke kritisk til kodeudførelse;

  • E_USER_ERROR. Fejl genereret af brugeren;

  • E_ALL. Dette omfatter alle typer fejl. Som regel er denne indstilling aktiveret som standard, når tolken er installeret.

Sådan aktiveres fejl output i PHP

Metoder til at bruge fejlmekanismerne i PHPkan variere afhængigt af om koden anvendes - på hosting eller på den lokale computer. I det andet tilfælde kan udvikleren oprette sin server og skærmen, som han ønsker, nemlig at ændre konfigurationen i php.ini-filen. Det er nok at bringe to direktiver - display_errors and error_reporting til følgende formular:

display_errors on

error_reporting E_ALL

Disse kommandoer giver dig mulighed for at vise alle fejlmeddelelser lige i browservinduet.

php aktivere fejl output

Hvis udvikling udføres på virtuellehosting, er fejlkortsfunktionen oftest deaktiveret af sikkerhedsmæssige årsager. Derfor skal du bruge Apache htaccess server konfigurationsfilen for at aktivere den. Normalt er det placeret i roden af ​​webstedet. Du skal tilføje et par linjer til det ved hjælp af enhver tekst editor:

php_flag display_errors on

php_value fejlrapportering -1

Du kan også vise fejl direkte fra koden ved hjælp af funktionen ini_set (). Det skal dog tages i betragtning, at brugen af ​​webstedet efter afslutningen af ​​brugen kan medføre sikkerhedsproblemer.

php fejl output til fil

Skriv til fil

PHP giver dig mulighed for at gemme alle fejlene på et bestemt sted på din harddisk. For at inkludere output af PHP-fejl i filen, kan du bruge tre metoder:

  1. rediger php.ini filen. Her skal du definere to linjer. Den første er log_errors = On, som faktisk aktiverer output-indstillingen. Den anden er error_log = path / til den ønskede / fil.

  2. Skift htaccess. Du kan også tilføje to linjer til den. php_value log_errors "on" og php_value error_log path / til fil.

  3. Brug funktionen ini_set på det ønskede sted i koden.

konklusion

Вывод ошибок в PHP — необходимый инструмент в debugging code. Men det kan også skabe potentielt sårbare områder. Derfor bør denne mekanisme anvendes omhyggeligt og omhyggeligt. Når webstedet eller tjenesten har bestået alle testfaser, skal du sikre dig, at det ikke viser fejl, hvorved en angriber kan få adgang til vigtige data.