PHP – Debug: semplificare l’individuazione dell’errore

gennaio 11th, 2008 - (0 Comments)



Per gli sviluppatori è di vitale importanza conoscere gli eventuali problemi o errori che precludono il corretto funzionamento di ciò che stanno implementando: vi sono diversi sistemi per conoscere tali informazioni, ma più il sistema adottato è veloce, più il programmatore lavora rapidamente e bene.

Questo vale ancora di più per coloro che si trovano a sviluppare con linguaggi lato server come PHP: infatti vi sono alcuni tipi di errori che con queste tecnologie non sono facili da individuare senza un aiuto preciso e puntuale, e il più delle volte si perde tantissimo tempo alla ricerca del problema, con il conseguente ritardo nel lavoro. Ovviamente vi sono i log a disposizione, ma bisogna avere un accesso completo ( o quasi ) al server per visionarli, e non tutti i programmatori chiaramente hanno questa possibilità.

Dunque, come possiamo semplificarci l’individuazione dei problemi quando stiamo implementando una pagina .php? In realtà la risposta è molto semplice; è sufficiente scrivere in cima alla nostra pagina le due seguenti righe di codice:

ini_set(‘error_reporting’, E_ALL);
ini_set(‘display_errors’, 1);

Queste righe di codice permettono di visualizzare a video i problemi o gli errori presenti nella pagina e che vengono scritti nel file di log degli errori del server su cui risiede il dominio.

La funzione “ini_set” non fa altro che impostare il valore di una data opzione di configurazione: in questo caso, il parametro error_reporting() imposta la direttiva error_reporting a runtime. PHP ha diversi livelli d’errore, ed utilizzando questa funzione si imposta il livello per la durata (runtime) dello script.

Il parametro display_errors, invece, determina se gli errori devono essere visualizzati sullo schermo come parte dell’output o se devono essere nascosti all’utente.

Ovviamente queste impostazioni deve essere utilizzata solamente come supporto allo sviluppo, e mai nel sistema di produzione: in caso contrario si rischierebbe di fornire informazioni preziose per chi intende provocare un danno al vostro lavoro.

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">