Zaključivanje pogrešaka u PHP-u

Bez obzira na to kako je web programer uredan i oprezan, tijekom njegova rada mogu postojati pogreške i netočnosti. To može rezultirati neuspjehom lokacije ili usluge. Za ispravljanje pogrešaka tijekom razvoja projekta moguće je omogućiti izlaz pogreške u PHP-u.

Kako funkcionira?

PHP definitivno odgovara na ovaj ili onaj kod skripte. U nekim slučajevima, obavljanje potrebne radnje u drugima prikazuje pogrešku. Ovaj mehanizam pomaže developer u vrijeme implementacije koda područje brzo ispraviti nedostatke.


Međutim, zaključak pogrešaka u PHP-u nije uvijek nužan. Nakon dovršetka projekta ta je značajka onemogućena kako bi se izbjeglo neovlašteno pristupanje ili neovlašteni pristup.

Konfiguracija

PHP konfiguracijska datoteka odgovara datoteci php.ini. Ima direktivu error_reporting, koja samo određuje izlazne pogreške u PHP-u. Međutim, iako uključuje rukovanje iznimkama, display_errors odgovara prikazivanju u prozoru preglednika. Ako je onemogućen, sustav će prikazati praznu stranicu umjesto buga.

Klasifikacija iznimaka

Zaključak grešaka u PHP-u može se podijeliti u nekoliko kategorija:
  • pogreške, koje će rezultirati prestankom rada skripte. Takozvani smrtni slučajevi. To uključuje E_ERROR, E_COMPILE_ERROR;
  • pogreške koje se mogu ispraviti. Njihove vrijednosti za direktivu error_reporting mogu biti: E_WARNING, E_NOTICE i druge.
  • Vrijedi razmotriti svaki tip detaljnije i njegov funkcionalni opis.
  • E_ERROR. Tipično, ovaj tip se odnosi na takve pogreške koje se ne mogu odmah otklonitiili nastavite skriptu. To može uključivati ​​probleme s dodjelom memorije;
  • E_WARNING. Kôd će nastaviti raditi, ali će se prikazati upozorenje da postoji neka vrsta pogreške koja je naznačena u poruci. Nije kritično;
  • E_NOTICE. Poruke koje pokazuju: postoji nešto što bi moglo uzrokovati pogrešku. Također nije kritično za izvršavanje koda;
  • E_USER_ERROR. Pogreške koje generira korisnik;
  • E_ALL. To uključuje sve vrste pogrešaka. U pravilu, ova opcija je prema zadanim postavkama omogućena prilikom instaliranja tumača.

    Kako omogućiti izlaz pogreške u PHP-u

    Tehnika korištenja mehanizama pogreške u PHP-u može varirati, ovisno o tome gdje se kod primjenjuje - na hostu ili na lokalnom računalu. U drugom slučaju, programer može konfigurirati svoj poslužitelj i zaslon onako kako želi, naime, za promjenu konfiguracije u datoteci php.ini. Dovoljno je dati dvije direktive - display_errors i error_reporting u sljedećem obliku:


    display_errors na error_reporting E_ALL Ove naredbe omogućuju prikaz svih poruka o pogreškama izravno u prozoru preglednika.
    Ako se razvoj odvija na virtualnom hostingu, onda je funkcija prikazivanja pogrešaka često onemogućena iz sigurnosnih razloga. Stoga, da biste ga aktivirali, morate koristiti konfiguracijsku datoteku Apache htaccess poslužitelja. Obično je u korijenu stranice. Morate mu dodati nekoliko redaka s bilo kojim uređivačem teksta: php_flag display_errors o php_value izvješćivanju o pogrešci -1 Također, možete ispisati pogreške izravno iz koda pomoću funkcijeini_set () Međutim, treba imati na umu da nakon razvoja stranice njegova primjena može uzrokovati sigurnosne probleme.

    Pisanje u datoteku

    PHP vam omogućuje da spremite sve pogreške koje su se dogodile na određenom mjestu na vašem tvrdom disku. Da bi se uključio izlaz pogreške PHP datoteke, koja se može koristiti na tri načina:
  • urediti datoteku php.ini. Ovdje je potrebno definirati dvije linije. Prvi je log_errors = On, koji zapravo aktivira izlaz. Drugi je error_log = put /do željene /datoteke.
  • Uredi htaccess. Također možete dodati dvije linije. php_value log_errors «on» i php_value error_log put /do datoteke.
  • Koristite funkciju ini_set na traženom mjestu.
  • Zaključak

    Zaključak pogrešaka u PHP-u - nužan alat za ispravljanje pogrešaka koda. Ali može stvoriti i potencijalno ugrožene zone. Stoga je potrebno pažljivo i točno koristiti ovaj mehanizam. Nakon što je web-lokacija ili usluga prošla sve faze testiranja, mora se paziti da se ne prikazuju pogreške koje omogućuju napadaču pristup kritičnim podacima.

    Povezane publikacije