In questo articolo ti spieghiamo come attivare la visualizzazione degli errori per le versioni di PHP a partire da PHP 8.0.

Attivando la visualizzazione degli errori, i messaggi relativi agli errori che si verificano durante l'esecuzione del codice di programma vengono mostrati direttamente sul tuo sito web. Questo ti permette, ad esempio, di diagnosticare gli errori quando viene visualizzata una pagina vuota o incompleta.

Importante

Per motivi di sicurezza, ti consigliamo di non attivare in modo permanente i messaggi di errore in un ambiente di produzione. I messaggi di errore possono fornire informazioni sensibili che potrebbero essere utili a potenziali aggressori. Tuttavia, nelle fasi di sviluppo o per la diagnosi di problemi gravi può essere utile visualizzare temporaneamente i messaggi di errore.

Se desideri eseguire la diagnostica degli errori per un periodo di tempo più lungo, ti consigliamo di attivare invece la registrazione degli errori (error log).

Attivare i messaggi di errore

Per attivare la visualizzazione dei messaggi di errore PHP per il tuo sito web, aggiungi un file con il nome .user.ini nella directory principale del tuo sito web con il seguente contenuto:

display_errors=On
display_startup_errors=On
error_reporting=E_ALL

Se non desideri che vengano mostrate tutte le tipologie di errore, puoi cambiare questa impostazione modificando la riga error_reporting=E_ALL. La procedura per farlo è descritta di seguito.

Modificare l'output degli errori

PHP distingue diverse tipologie di errore. Oltre agli errori fatali, che comportano l'interruzione dello script, esistono anche tipi di errore meno critici, come le notifiche o gli avvisi. Puoi specificare quali tipi di errore visualizzare utilizzando la direttiva error_reporting.

La tabella seguente mostra alcuni esempi di configurazione:

DIRETTIVA DI CONFIGURAZIONE DESCRIZIONE
error_reporting = E_ALL Vengono visualizzate tutte le tipologie di messaggi di errore. Si tratta della direttiva di configurazione utilizzata anche in precedenza in questo articolo, nella sezione "Mostra istruzioni passo passo".
error_reporting = E_ERROR Vengono visualizzati solo gli errori fatali di runtime. Si tratta di errori che non possono essere risolti. Ad esempio, problemi di allocazione della memoria. Se si verifica un errore fatale, l'esecuzione dello script viene interrotta.
error_reporting = E_ERROR | E_WARNING In questo esempio vengono mostrati gli errori di runtime fatali e gli avvisi. Gli avvisi PHP, noti anche come "warning", sono messaggi che indicano che si è verificato un problema durante l'esecuzione di uno script. A differenza degli errori fatali, che interrompono l'esecuzione di uno script, gli avvisi non causano l'interruzione dello script. Lo script viene eseguito fino al completamento nonostante l'avviso. Gli avvisi indicano in genere problemi non critici che devono essere risolti ma che non influiscono immediatamente sulla funzionalità del programma.

Se desideri configurare più di una tipologia di errore, devi elencarli separandoli tramite il carattere| (bitwise OR). Ad esempio, come mostrato nella tabella qui sopra: error_reporting = E_ERROR | E_WARNING.

Una panoramica delle costanti predefinite da utilizzare con 'error_reporting' è disponibile qui: https: //www.php.net/manual/it/errorfunc.constants.php.

Ulteriori informazioni