PHP offre alcuni importanti strumenti per la visualizzazione e il logging degli errori che permettono allo sviluppatore di determinare quali errori devono essere mostrati e in quale situazione. Il più importante è certamente error_reporting()
attraverso il quale è possibile decidere con quale granularità tener conto degli errori.
Per esempio:
I parametri di questa funzione possono essere espressi attraverso delle costanti predefinite
Inoltre, è possibile decidere se mostrare gli errori a video o se ridirigerli in un file. Per farlo si può agire attraverso delle direttive ini_set()
.htaccess
php.ini
display_errors
log_errors
error_log
Una configurazione che uso spesso è la seguente:
error_reporting(E_ALL ^ E_NOTICE); ini_set("log_errors", "On"); ini_set("error_log", "/path/file/di/log"); if(stristr($_SERVER['REQUEST_URI'],'?show_errors')){ ini_set("display_errors","On"); }else{ ini_set("display_errors","Off"); }
In questo modo tengo traccia di tutti gli errori tranne dei notice
?show_errors