Il debug di WordPress, approfondimento

ATTENZIONE: questo articolo è stato scritto oltre un anno fa, ed i contenuti potrebbero non essere più validi o compatibili. Sei pregato di tenerne conto, e se hai informazioni in merito di segnalarmele, grazie.

Check problemi WordPress

Dopo la pubblicazione dell’articolo riguardante la ricerca degli errori di WordPress, mi sono arrivate diverse mail con richieste di delucidazioni. In particolare sul debug di WordPress, così ho pensato che un approfondimento potesse tornare utile.

Il debug di WordPress è sicuramente il miglior strumento di diagnostica che il nostro CMS preferito ci mette a disposizione, senza dover ricorrere a strumenti esterni o a plugin.

Utile in caso di malfunzionamenti,  per la verifica del codice in fase di sviluppo di soluzioni, e in generale per la verifica del corretto funzionamento o dell’ottimizzazione del sito.

In linea di massima, basta semplicemente attivare il debug, direttamente nel file di configurazione di WordPress. In caso di problemi, errori di PHP o semplici avvisi di anomalie, questi vengono visualizzati nelle pagine.

Le possibilità offerte dal debug non si fermano qui, vale la pena di approfondirle.

Come abbiamo già visto, per l’attivazione del debug si deve modificare un’istruzione nel file wp-config.php, il file di configurazione di WordPress:

define('WP_DEBUG', true);

Il valore di default è false, bisogna modificarlo in true.

In questo modo si attiva la visualizzazione degli errori direttamente sulle pagine del sito. Può tornare utile in situazioni straordinarie, ma è preferibile che gli errori siano scritti in un file di log, per una migliore consultazione e lontano da occhi indiscreti.

Specie se si tratta di un sito funzionante e visibile al pubblico, gli errori visualizzati direttamente sulle pagine sono indice di poca professionalità, possono creare confusione e sconcerto nei visitatori. Meglio quindi nasconderli alla vista.

La scrittura di un file di log e la disabilitazione degli errori a video sono alcune delle opzioni possibili, attivabili sempre nel file di configurazione di WordPress, wp-config.php.

Ecco un esempio di una configurazione di debug, che comprende una carrellata delle principali opzioni possibili:

// Abilitare la modalità debug
define('WP_DEBUG', true);

// Abilitare la scrittura del file di log del debug /wp-content/debug.log
define('WP_DEBUG_LOG', true);

// Disabilitare la visualizzazione di errori e notifiche
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

// Abilitare il debug di script JS e CSS
define('SCRIPT_DEBUG', true);

Aggiungendo le istruzioni qui sopra nel file wp-config.php andiamo ad ottenere una situazione ottimale di debug dove:

  1. Il debug di WordPress è attivo
  2. Gli errori (anche quelli diretti del PHP, riga 9) non vengono visualizzati ai visitatori, ma scritti in un file di log dentro la cartella wp-content
  3. Viene attivato il debug anche per gli script JS e CSS

Le query al database

C’è un’ultima opzione possibile, che consente di salvare il risultato delle query al database in un array, una variabile.

define('SAVEQUERIES', true);

Questa possibilità va usata solo quando strettamente necessario, perché ha un impatto molto pesante sulle prestazioni di WordPress.

Per visualizzare o salvare in un file di log il risultato, bisogna lavorar di codice. In rete ho trovato due esempi che possono tornare utili:

Personalmente, per maggior praticità, e perché un file di log può sempre tornare utile, preferisco la seconda possibilità.

Ultima nota utile: la pagina del codex di WordPress dedicata al debug.

Interpretazione delle informazioni di debug

Ora che si è attivato il debug su WordPress, arriva la parte più difficile: interpretare le informazioni su errori e notifiche.

Avere la lista degli errori, ma non sapere cosa significhino, è come non avere nulla.

Ad onor di cronaca, va comunque detto che, nel caso di un WordPress in stato di grazia, il log del debug potrebbe anche essere vuoto, non riportare cioè assolutamente nulla. È normale, anche se raro: niente errori o avvisi, niente da segnalare nei log.

Più probabile invece che qualche notifica, anche solo dei semplici avvisi, vengano comunque fuori.

Spesso si tratta di funzioni deprecate, cioè temi o plugin che fanno uso di funzioni di WordPress, dismesse o in via di dismissione, che dovrebbero essere sostituite con altre pù attuali o corrette. Di solito succede con plugin o temi non aggiornati da tempo.

In altri casi invece si tratta di errori veri e propri, che possono compromettere il buon funzionamento del sito a vari livelli.

Nei casi più gravi, vanno comunque sempre tenuti in considerazione i file di log di errore del server web, sempre molto ricchi di informazioni utili.

Spesso San Google aiuta a scoprire le cause di questi errori. Spesso fornisce pure indicazioni su come risolverli, ma occorre una certa dose di domestichezza con il codice di WordPress, temi e plugin, per venirne a capo

In ogni caso, avere delle informazioni di debug è già un buon inizio.

Queste informazioni si possono fornire nei vari forum di supporto o nelle community tematiche, per cercare un aiuto, oppure girarle a chi si decide di interpellare per avere un’assistenza su WordPress.

Tags: , , , ,

9 Risposte a “Il debug di WordPress, approfondimento”

  1. stefano 28 Feb 2014 at 13:16 #

    Ciao Roberto articolo molto i terssante. Volvo chiderti il file di log che si dovrebbe tr nella certella wp.content giusto ? E si crea da sola o bisogna crearla noi?
    Ciao e grazie

    • Roberto Rota 28 Feb 2014 at 21:49 #

      Sì, si crea da solo nella cartella wp-content, una volta attivato il logging del debug.

      Rob

      • Stefano 1 Mar 2014 at 14:23 #

        Ok grazie !

  2. Fabio 26 Gen 2015 at 22:41 #

    Articolo molto utile, ho provato ad attivare il debug, ma non mi crea il file debug.log
    Colpa del server condiviso Aruba? Lo posso creare io?

    • Roberto Rota 27 Gen 2015 at 09:26 #

      Ciao Fabio, in genere una volta attivata la scrittura il file del debug si crea da solo.

      Puoi anche provare a crearlo, l’importante poi è che venga scritto.

      rob

Trackbacks/Pingbacks

  1. √ Cosa fare se WordPress non funziona: log e debug | robrota - 24 Apr 2013

    […] Approfondimento: le opzioni principali del debug di WordPress […]

  2. √ WordPress: query al database, memoria, tempi caricamento | Roberto Rota - 3 Lug 2013

    […] che possono essere utili o meno, a seconda della situazione, che possono preludere ad un debug di WordPress vero e proprio, o confermare la buona salute della nostra […]

  3. √ WordPress non va in ferie. Manutenzione? | Roberto Rota - 18 Lug 2014

    […] po’ di debug, giusto per controllare che non ci siano errori sotto il cofano, si finisce sempre per scoprire […]

  4. √ Modifiche configurazione WordPress | Roberto Rota - 12 Gen 2015

    […] Barbatrucco: l’argomento debug volendo è molto più complesso, per chi volesse approfondire qui ci sono diverse opzioni utili del debug avanzato di WordPress. […]

Dubbi o suggerimenti? Lascia un commento!

I love Instagram