Il vostro sito mostra una pagina vuota, oppure la frase «Si è verificato un errore critico sul tuo sito web.» In entrambi i casi, PHP ha scritto da qualche parte un messaggio preciso, che nomina il file responsabile. Questa guida mostra dove leggerlo, come interpretarlo e quale intervento corrisponde a ogni messaggio.
wp-config.php e ricaricate la pagina in errore.PHP Fatal error in wp-content/debug.log: il percorso del file indica il plugin o il tema responsabile.debug.log.Una pagina bianca è quasi sempre un errore fatale di PHP: un file del sito ha chiesto qualcosa di impossibile, e l'esecuzione si è fermata prima di mostrare qualsiasi cosa. Da WordPress 5.2, WordPress intercetta questi errori: invece di una pagina vuota mostra «Si è verificato un errore critico sul tuo sito web.» e invia un'email all'indirizzo di amministrazione del sito.
La pagina resta completamente bianca in alcuni casi: una versione di WordPress più vecchia, un errore che avviene prima che questa protezione sia caricata, la costante WP_DISABLE_FATAL_ERROR_HANDLER impostata a true, oppure un plugin di cache che serve una pagina vuota memorizzata durante il guasto. Il metodo che segue vale per tutti questi casi.
Tre interventi possono aspettare di aver letto l'errore: reinstallare WordPress, eliminare plugin, ripristinare un vecchio backup. Ognuno può cancellare impostazioni o dati recenti, mentre il messaggio di errore indica di solito con precisione quale componente disattivare, senza perdere nulla.
Quando WordPress intercetta l'errore, invia all'indirizzo email di amministrazione del sito un messaggio intitolato «Il tuo sito [Nome del sito] ha un problema tecnico». Il messaggio nomina il plugin o il tema responsabile e contiene un link che apre la bacheca in modalità di recupero.
Collegatevi al sito via SFTP o dal file manager del vostro provider di hosting, aprite wp-config.php nella cartella principale e sostituite la riga define( 'WP_DEBUG', false ); con queste quattro righe:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Vanno inserite sopra il commento che chiude la parte modificabile del file (/* Finito, interrompere le modifiche! Buon blogging. */ su un WordPress installato in italiano). Ricaricate la pagina in errore, poi aprite wp-content/debug.log. WP_DEBUG_DISPLAY impostata a false tiene i messaggi nel file e fuori dalla pagina che vedono i vostri visitatori.
Se debug.log resta vuoto o non compare, PHP ha registrato l'errore per conto suo: cercate un file error_log nella cartella principale del sito o in wp-admin, oppure la sezione dei log degli errori nel pannello di controllo del vostro hosting.
Un errore fatale sta su una riga: il tipo di errore, la sua descrizione, poi in seguito dal percorso completo del file e dal numero di riga. Il percorso è la parte più utile: wp-content/plugins/nome/ indica un plugin, wp-content/themes/nome/ un tema.
| Il messaggio contiene | Che cosa significa | La correzione |
|---|---|---|
Call to undefined function o Class "…" not found, in wp-content/plugins/nome-plugin/ | Il plugin richiama codice che manca: un aggiornamento incompleto, un plugin da cui dipende disattivato, o una versione di PHP che non supporta. | Disattivare quel plugin, poi reinstallarlo o aggiornarlo. |
Allowed memory size of 268435456 bytes exhausted | Lo script ha superato la memoria concessa da PHP, qui 268.435.456 byte, cioè 256 MB. | Aumentare WP_MEMORY_LIMIT in wp-config.php, entro il limite fissato dal provider, poi capire che cosa consuma tanta memoria. |
PHP Parse error: syntax error, unexpected, in functions.php on line 42 | Un errore di sintassi in un file, molto spesso dopo una modifica manuale nell'editor dei file del tema. | Correggere la riga indicata, oppure rimettere la versione precedente del file. |
Uncaught TypeError o Uncaught ArgumentCountError, dopo un cambio di versione di PHP | Un componente scritto per una versione di PHP più vecchia, che la versione attuale rifiuta di eseguire. | Aggiornare il componente. In attesa di sostituirlo, tornare alla versione di PHP precedente dal pannello del provider. |
Maximum execution time of 30 seconds exceeded | Un'operazione è durata più di quanto PHP consenta (max_execution_time). | Individuare l'operazione (importazione, backup, generazione di immagini) e, se è legittima, far aumentare il limite dal provider. |
define( 'WP_MEMORY_LIMIT', '256M' );
Rinominate la cartella del plugin indicato nel messaggio, per esempio wp-content/plugins/nome-plugin in nome-plugin.off. WordPress non trova più il plugin e smette di caricarlo; le sue impostazioni restano salvate nel database, e WordPress lo disattiva alla successiva apertura della schermata Plugin.
Per un tema, rinominare la sua cartella in wp-content/themes fa tornare la bacheca, ma i visitatori vedono una pagina bianca finché nessun tema è attivo. Aprite subito Aspetto > Temi: WordPress rileva che il tema attivo non funziona e torna a un tema predefinito installato.
wp plugin list --status=active
wp plugin deactivate nome-plugin
wp theme list
wp theme activate twentytwentyfive
Il primo comando registra quali plugin sono attivi, un'informazione utile prima di qualsiasi disattivazione in blocco. Se WP-CLI stesso si ferma sull'errore, aggiungete --skip-plugins --skip-themes al comando, così parte senza caricare plugin e tema. I plugin in wp-content/mu-plugins si caricano comunque; se l'errore viene da uno di loro, rinominate il suo file.
Quando il messaggio non nomina alcun componente, wp plugin deactivate --all disattiva tutti i plugin. Se il sito torna, riattivateli uno alla volta, ricaricando il sito ogni volta: l'ultimo riattivato prima che l'errore ricompaia è il responsabile.
define( 'WP_DEBUG', false ); e togliete WP_DEBUG_LOG da wp-config.php.wp-content/debug.log: si trova in una cartella accessibile dal web, chiunque può leggerlo, e contiene percorsi del server.Con Serenity by Simafri, creiamo il vostro sito web professionale, lo ospitiamo, lo proteggiamo e lo manteniamo aggiornato. Voi ci scrivete, noi ci occupiamo di tutto. Nome di dominio ed email professionale inclusi.
Perché si è verificato un errore fatale di PHP, il più delle volte in un plugin o in un tema. WordPress lo intercetta, mostra questo messaggio e invia all'indirizzo email di amministrazione un link alla modalità di recupero. Il log di debug fornisce il dettaglio dell'errore e il file responsabile.
Controllate la cartella spam e l'indirizzo impostato in Impostazioni > Generali, alla voce Indirizzo email di amministrazione. Senza l'email, attivate il log di debug in wp-config.php, leggete l'errore in wp-content/debug.log, poi disattivate il componente difettoso rinominando la sua cartella via SFTP.
Le impostazioni dei plugin sono salvate nel database, non nella cartella del plugin, quindi restano. Un plugin rinominato risulta disattivato; ridate alla cartella il suo nome originale e riattivatelo dalla schermata Plugin per ritrovarlo con le sue impostazioni.
Il componente difettoso può caricarsi solo nella bacheca, oppure la bacheca ha bisogno di più memoria. WordPress applica WP_MAX_MEMORY_LIMIT alle schermate di amministrazione e WP_MEMORY_LIMIT al sito pubblico. Il log di debug funziona allo stesso modo nei due casi: caricate la pagina di amministrazione in errore, poi leggete debug.log.
Simafri
Parliamo del vostro progetto
Diteci in due parole ciò che vi serve: vi rispondiamo rapidamente.
Grazie! La tua richiesta è stata inviata. Ti risponderemo a breve.
Preferite l'email? Scriveteci a support@simafri.com.