Atunci când finalizezi dezvoltarea unui website și îl publici pe serverul de producție pentru vizitatori, este esențial să nu afișezi erorile pe site. Pe lângă faptul că mesajele tehnice afectează experiența utilizatorilor (care sunt deranjați de avertismente pe care nu le înțeleg), expunerea erorilor reprezintă o vulnerabilitate majoră de securitate, dezvăluind căi de fișiere de pe server, versiuni de software sau detalii despre structura internă a bazei de date.
Ce soluții ai la îndemână dacă vrei să ascunzi erorile PHP în mediul live?
Dezactivarea afișării erorilor direct din codul PHP
Poți include următoarele directive pentru a opri complet afișarea avertismentelor și a mesajelor de eroare direct în interfață:
[php]
// Dezactivează raportarea tuturor erorilor către browser
error_reporting(0);
// Asigură că directiva display_errors este oprită
ini_set(‘display_errors’, ‘Off’);
[/php]
Configurare și bune practici
error_reporting(0);: indică interpretorului PHP să ignore raportarea erorilor în timpul execuției scriptului curent.ini_set('display_errors', 'Off');: suprascrie directiva din configurația serverului, împiedicând afișarea textului de eroare pe ecran.
Atenție: Pentru ca aceste setări să aibă efect asupra întregii execuții a paginii, codul trebuie inclus chiar la începutul fișierului principal de intrare (de pildă în index.php sau în fișierul central de configurare), înainte de apelarea altor scripturi.
De asemenea, în mediul de producție este recomandat ca erorile să nu fie pierdute complet, ci înregistrate discret într-un fișier jurnal privat prin activarea directivei log_errors = On în fișierul php.ini.