PHP Visualizzazione degli errori


Esempio

Se vuoi che PHP visualizzi gli errori di runtime sulla pagina, devi abilitare display_errors , nel php.ini o usando la funzione ini_set .

È possibile scegliere quali errori visualizzare, con la funzione error_reporting (o ini), che accetta le costanti E_* , combinate usando operatori bit a bit .

PHP può visualizzare errori nel formato testo o HTML, a seconda dell'impostazione html_errors .

Esempio:

ini_set("display_errors", true);
ini_set("html_errors", false); // Display errors in plain text
error_reporting(E_ALL & ~E_USER_NOTICE); // Display everything except E_USER_NOTICE

trigger_error("Pointless error"); // E_USER_NOTICE
echo $nonexistentVariable; // E_NOTICE
nonexistentFunction(); // E_ERROR

Output di testo normale: (il formato HTML differisce tra le implementazioni)

Notice: Undefined variable: nonexistentVariable in /path/to/file.php on line 7

Fatal error: Uncaught Error: Call to undefined function nonexistentFunction() in /path/to/file.php:8
Stack trace:
#0 {main}
  thrown in /path/to/file.php on line 8

NOTA: Se si ha segnalazione di errore disabilitata in php.ini e abilitata durante il runtime, alcuni errori (come errori di analisi) non verranno visualizzati, perché si sono verificati prima dell'applicazione delle impostazioni di runtime.

Il modo più comune per gestire error_reporting è abilitarla completamente con E_ALL costante durante lo sviluppo e disabilitare la visualizzazione pubblica con display_errors in fase di produzione per nascondere gli interni degli script.