Cos’è e come attivare il log degli errori PHP

Postato in data 3 Dicembre 2024 da Riccardo Esposito

Quando si lavora sulla sicurezza e sull’affidabilità di un sito web è giusto analizzare e attivare anche il log degli errori PHP. Vale a dire uno strumento diagnostico sicuramente avanzato, da leggere con le competenze di un webmaster esperto. Ma sicuramente utile per affrontare problemi del tema, dei plugin e di altri elementi (come ad esempio elementi di codice personalizzato che hai implementato) che potrebbero portare a errori sostanziali.

Per comprendere il log degli errori PHP bisogna ricordare che ci possono essere diverse tipologie di problemi che interessano un sito WordPress. Ad esempio, un Notice error o PHP Notice non è un elemento grave: si tratta di un avviso che devi valutare, così come avviene con i Warning che però esigono un’attenzione in più perché lo script non viene interrotto ma si preannuncia una funzione errata come il richiamo di un file che non esiste.

log degli errori PHP

Andiamo su un fronte differente. I PHP Parse error, invece, sono errori di sintassi che possono aver effetti differenti mentre il tanto temuto Fatal error interrompono l’esecuzione dello script. Ecco perché è fondamentale attivare e comprendere il file error_log anche per il tuo sito web WordPress.

Cos’è il log degli errori PHP, definizione

Il log degli errori PHP è un file utile per riassumere le informazioni sugli errori generati da questo linguaggio di programmazione general-purpose open source durante l’esecuzione di uno script.

Questo file è estremamente utile per individuare problemi e affrontare con successo bug nel codice. Grazie a questo tool, infatti, puoi Tracciare errori di sintassi o runtime ma viene utilizzato anche per monitorare le operazioni degli script e migliorare le performance.

In altre parole, il prezioso contributo del log errori PHP fornisce dettagli indispensabile per il lavoro di debugging, come la riga in cui si è verificato l’errore e una descrizione del problema riscontrato.

Come leggere il log degli errori PHP

Questo documento è solo un file di testo semplice – codificati in ASCII o UTF-8 – non formattato e privo di codici di formattazione o elementi grafici. In questo modo, può essere aperto da qualsiasi editor di testo o strumenti specifici per questo compito come Notepad++ o Visual Studio Code.

La struttura tipica è composta da alcuni elementi imprescindibili come, ad esempio, il momento esatto in cui si è verificato l’errore, la linea per individuarlo, una descrizione utile al debugging, il tipo di problema riscontrato in modo da capire subito come e quando intervenire. C’è da aggiungere che a lungo andare, i file di log possono diventare complessi. E conviene gestirli in modo da evitare lunghe catene di errori.

Alcuni esempi di errori nel file di log

Per capire bene come si presenta e consulta un file error di log PHP è utile fare qualche esempio che rappresenti le varie tipologie di errore, come ad esempio la notifica che puoi vedere in basso. Questo è il livello di alert meno grave che puoi registrare perché si tratta di un semplice avviso di intoppo.

[21-Nov-2024 11:15:32] PHP Notice: Undefined index: username in /esempio/www/html/login.php on line 41

Come puoi ben notare c’è tutto quello che serve – linea del codice, data, descrizione, tipologia dell’errore – per avere ciò che serve alla correzione o alla semplice verifica. Ecco, invece, un errore di sintassi. Ovvero una condizione tipica di un intervento manuale dove c’è stata una digitazione errata.

[21-Nov-2024 11:20:133 PHP Parse error: syntax error, unexpected '}' in /esempio/www/html/template.php on line 42

Si può facilmente capire che il problema riguarda una parentesi chiusa in modo non appropriato. Così, la figura tecnica che consulta il file log errori PHP può capire in un attivo dov’è la dimenticanza e correggerla. Qui, invece, puoi notare la presenza di un Fatal Error critico che blocca tutto.

[21-Nov-2024 10:22:13] PHP Fatal error: Uncaught Error: Call to undefined function nonExistentFunction() in /var/www/html/functions.php:12
Stack trace:
#0 {main}
  thrown in /esempio/www/html/functions.php on line 55

Dove si trova il file error PHP dei log?

Di solito, per consultare il file di errori PHP basta accedere al cPanel e andare nella sezione gestione file. Qui, hai tutti i contenuti del tuo sito web WordPress e facendo una semplice ricerca (error) puoi ottenere il file /error_log_php. Doppio click e ottieni il contenuto sul tuo desktop che puoi aprire con un doppio click grazie al programma di testo semplice del computer. In alternativa puoi utilizzare i già citati tool come Notepad++

Come attivare questo file di log per gli errori

In linea di massima, il file di log è già attivo nel momento in cui acquisti il tuo hosting. Se non è così – puoi chiedere al tuo provider quest’informazione – le soluzioni principali per attivare il file di log degli errori PHP sono due: attivazione attraverso il file wp-config.php. Quali sono le condizioni da seguire?

Se vuoi sfruttare il file wp-config.php, accedi al file manager del tuo hosting per accedere alla directory principale del tuo sito WordPress. Poi, con la funzione di ricerca trova e apri il file wp-config.php. Subito dopo, inserisci il codice che vedi in basso prima della riga che chiude il documento in questione:

// Attivare la modalità debug
define( 'WP_DEBUG', true );
// Questo attiva il debug a video di WordPress (direttamente sul sito web)

// Salvare gli errori in un file di log
define( 'WP_DEBUG_LOG', true );
// Attiva un file di log aggiuntivo a quello dell'error_log_php in wp-content/debug.log

// Disabilitare la visualizzazione degli errori sul frontend
define( 'WP_DEBUG_DISPLAY', false );

// Assicurarsi che gli errori non siano mostrati
@ini_set( 'display_errors', 0 );

/* That's all, stop editing! Happy publishing. */

Il testo che vedi in questa sezione ha uno scopo ben preciso: serve ad attivare la modalità debug, a salvare il tutto in un file log e a disabilitare la visione degli errori nel frontend. Salva il file. Da questo momento in poi, il tuo sito WordPress inserisce gli errori in un file compreso nella cartella wp-content.

Da leggere: nuova versione di PHP

Occhio al plugin Error Log Monitor

C’è un modo per semplificare? Sì, puoi installare il plugin Error Log Monitor, vale a dire uno strumento che ti permette di aggiungere un widget nella Dashboard WordPress che visualizza gli ultimi messaggi dal tuo registro degli errori PHP. Può anche inviarti notifiche e-mail per suggerire gli errori registrati. Nello screenshot in basso – un po’ datato ma preso dalla pagina ufficiale del plugin – puoi vedere come si presenta il box.

Il punto interessante è che, oltre a identificare automaticamente la posizione del log, ti spiega come configurare il registro errori PHP se non è ancora presente. Le notifiche via email sono disabilitate di default, puoi modificare la frequenza degli avvisi selezionando l’intervallo di tempo minimo.

Riccardo Esposito
Clicca per votare questo articolo!
[Voti totali: 0 Media: 0]
Tag: php

Discussione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *