Debug
Succede a tutti noi: c’è un problema o un errore con il nostro sito e dobbiamo fare un po’ di ricerca per capire cosa lo sta causando e come risolverlo.
WordPress è un CMS dinamico, il che significa che il codice viene costantemente eseguito in background per generare le pagine che vedete. A volte può capitare che il codice dei plugin sia in conflitto, che il tema contenga errori di sintassi, che il file functions.php contenga frammenti di codice non corretti o che si verifichino altri problemi legati al PHP.
Per risolvere questi problemi, l’attivazione della modalità di debug in WordPress può aiutare voi o il vostro sviluppatore a risolvere i problemi del sito. La modalità di debug integrata può aiutarvi a capire cosa sta succedendo visualizzando tutti gli errori, gli avvisi e le avvertenze PHP. Esistono anche altre opzioni di debug che possono essere utili per indagare su specifici tipi di problemi.
Normalmente, per attivare la modalità di debug è necessario modificare il file wp-config.php
tramite SSH o SFTP. Questo può essere scomodo, soprattutto se non avete a portata di mano le credenziali di accesso a WordPress o un client SFTP installato. Noi di Kinsta sviluppiamo costantemente strumenti utili in MyKinsta per accelerare il vostro flusso di lavoro con WordPress. Con il nostro strumento di debug di WordPress, potete facilmente attivare e disattivare la modalità di debug senza toccare una sola riga di codice.
Una volta identificata l’origine del problema, potete segnalarne i dettagli allo sviluppatore del plugin o del tema o allo sviluppatore del vostro sito web. Se non è disponibile una soluzione immediata, potrebbe essere necessario disattivare il plugin o il tema fino a quando il problema non sarà risolto.
Abilitare WP_DEBUG
Per abilitare WP_DEBUG
, accedete a MyKinsta e selezionate il sito e l’ambiente in cui volete abilitarlo.
Andate alla scheda Strumenti e cliccate sul pulsante Abilita alla voce Debug di WordPress.
In questo modo WordPress mostrerà tutti gli errori PHP, gli avvisi e le avvertenze sul vostro sito nella parte superiore della pagina, oltre ai log degli errori in MyKinsta. Questi verranno mostrati a tutti i visitatori e potranno essere visualizzati sia nella parte frontale del sito che nella bacheca di WordPress. L’immagine seguente mostra un tipico avviso PHP con la modalità di debug attivata.
Se ora visualizzate il file wp-config.php del vostro sito, vedrete che la seguente riga è stata aggiunta subito prima della riga /* That's all, stop editing! Happy blogging. */
:
if (! defined('WP_DEBUG') ) { define( 'WP_DEBUG', true ); } // line added by the MyKinsta
Impostando WP_DEBUG
su true si abilita il debug in WordPress.
Estendere WP_DEBUG
Esistono alcune costanti che accompagnano WP_DEBUG
abilitando ulteriori opzioni di debug.
Log di debug
Se volete salvare gli errori in un file di log, potete abilitare WP_DEBUG_LOG
modificando il file wp-config.php e aggiungendo la seguente riga dopo quella che abilita WP_DEBUG
:
define( 'WP_DEBUG_LOG', true );
Per impostazione predefinita, il file di log verrà salvato in: wp-content/debug.log sul server. Se volete, potete personalizzare il percorso e il nome del file. In questo esempio, salveremo il file di log nella cartella tmp e lo chiameremo wp-errors.log:
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );
Script Debug
Abilitare SCRIPT_DEBUG
costringe WordPress a utilizzare le versioni dev dei file CSS e JavaScript principali invece delle versioni minificate che carica normalmente:
define( 'SCRIPT_DEBUG', true );
Questo può essere utile quando si risolvono problemi con JavaScript o CSS e si sospetta un conflitto o un altro problema con i file JavaScript o CSS principali.
Debug delle query del database
Per salvare le query del database in un array, attivate SAVEQUERIES
:
define( 'SAVEQUERIES', true );
In questo modo ogni query verrà salvata con il tempo di esecuzione e la funzione che l’ha chiamata. L’array può essere consultato o visualizzato con il comando globale $wpdb->queries
.
Disabilita WP_DEBUG
Una volta terminata la risoluzione dei problemi del vostro sito WordPress, potete disabilitare la modalità di debug cliccando su Disabilita nello strumento di debug di WordPress.
Altri strumenti e risorse per il debug
Plugin Query Monitor
Il plugin Query Monitor è un plugin gratuito utile per il debug di diverse aree di WordPress. Può aiutarvi a individuare le query di database lente, le chiamate AJAX, le richieste API REST e molto altro ancora. Per maggiori dettagli, abbiamo pubblicato un post sul blog su come utilizzare il plugin Query Monitor.
Strumento APM di Kinsta
Lo strumento APM di Kinsta aiuta a identificare i colli di bottiglia delle prestazioni PHP sul vostro sito WordPress senza dover sottoscrivere servizi di monitoraggio di terze parti come New Relic.
New Relic
New Relic è uno strumento di monitoraggio che fornisce un’analisi dettagliata delle prestazioni a livello granulare.
Log del server
I file di log sono disponibili in MyKinsta e possono essere scaricati anche tramite SFTP. Questi file possono essere utili per la risoluzione di errori o per rintracciare altri problemi sul vostro sito.