Come attivare i messaggi di errore in PHP

Stai eseguendo un codice php sulla pagina del tuo sito ed ecco che ottieni una pagina bianca senza alcuna informazione circa l'errore commesso.

Come visualizzare gli errori php?

 

-

Per impostazione predefinita il PHP.ini è settato in maniera da non visualizzare alcuna informazione di errore sulle pagine del sito, questo per non far notificare  messaggi agli utenti durante la navigazione del sito.

Quindi come fare?

In fase di produzione, cioè con il tuo sito funzionante e aperto a tutti, il display_errors sul php.ini è impostato di solito su OFF, che è di norma una cosa positiva questo appunto come detto per non far visualizzare messaggi di errore agli utenti, ma in fase di sviluppo potresti voler impostare temporamentamente il parametro su ON.

error_reporting(dalla versione PHP 5.3) è impostato di default su E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

questo significa che viene mostrato tutto tranne avvisi.


Per aver un maggior controllo al limite è possibile impostare  E_ALL per visualizzare tutti gli errori.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Fare riferimento alla pagina ufficiale Errori e opzioni di configurazione

Come funziona ini_set

Se viene impostata nella nostra pagina php, la funzione ini_set() cercherà di modificare il php.ini del sito per sovrascrivere la configurazione originale, e gli eventuali messaggi di errore verranno visualizzati grazie alla direttiva display_errors ,1  che di norma dovrebbe essere disattivato dopo aver ultimato lo sviluppo del codice del nostro sito.
In ogni caso le direttive display_errors e display_startup_errors non saranno in grado notificare gli errori come parentesi non bilanciare, punti e virgola, per ovviare a questo è necessario settare a dovere il php.ini ma prestando attenzione alla sicurezza.

Nel caso in cui non sia possibile accedere al php.ini per attivare:

display_errors = on

è possibile agire anche con il file htaccess impostando i parametri per sovrascrivere quello di sistema (server permettendo):

php_flag display_errors 1

 

Visualizza errori nel log del server

Se questo non dovesse essere sufficiente è sempre possibile visualizzare l'elenco degli errori direttamente nel file log del vostro server (sempre che abbiate accesso SSH alla route del server), in questo caso utilizzando ad esempio un software come Putty

Come attivare i messaggi di errore in PHP


Durante la fase di compilazione dei tuoi script, puoi verificare gli errori anche direttamente nei tuoi log di Apache spesso situati in /var/log/apache2/error.log


Php
 
log
   


Lascia un commento