{"id":22443,"date":"2026-08-28T08:26:03","date_gmt":"2026-08-28T06:26:03","guid":{"rendered":"https:\/\/www.curiaweb.ch\/?post_type=docs&#038;p=22443"},"modified":"2026-08-28T08:26:04","modified_gmt":"2026-08-28T06:26:04","password":"","slug":"registri-degli-errori-di-debug-di-wordpress","status":"publish","type":"docs","link":"https:\/\/www.curiaweb.ch\/it\/hilfe\/wordpress\/wordpress-debugging-fehlerprotokolle\/","title":{"rendered":"Attivare il debug di WordPress e utilizzare i log degli errori"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Quando WordPress mostra un errore critico, un HTTP 500, una pagina bianca o un altro problema tecnico, il messaggio di errore visibile spesso non \u00e8 sufficiente per identificare la causa effettiva.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress e PHP possono quindi registrare informazioni dettagliate sugli errori. Questi log mostrano, ad esempio, quale tipo di errore si \u00e8 verificato, in quale momento \u00e8 sorto l'errore e quale file PHP \u00e8 stato coinvolto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress dispone di un proprio sistema di debug con impostazioni come <code>WP_DEBUG<\/code>, <code>WP_DEBUG_LOG<\/code> e <code>WP_DEBUG_DISPLAY<\/code>. Inoltre, i log degli errori PHP sul lato server possono contenere informazioni importanti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il debugging, tuttavia, non significa mostrare pubblicamente il maggior numero possibile di messaggi di errore sul sito web. Su un sito web di produzione, i dettagli tecnici dovrebbero essere registrati il pi\u00f9 possibile e successivamente analizzati in modo mirato.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Breve spiegazione:<\/strong> Attiva il debug solo in modo mirato per la ricerca degli errori. Su un sito web di produzione, i messaggi di errore di solito non dovrebbero essere mostrati pubblicamente. Utilizza invece un registro degli errori, riproduci l'errore, annota l'ora e successivamente esamina i log corrispondenti.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Cosa significa il debug in WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il termine debugging indica la ricerca sistematica di errori in un software o in un sito web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In WordPress geht es beispielsweise darum herauszufinden, warum eine bestimmte Anfrage fehlschl\u00e4gt, ein Plugin einen Fehler verursacht oder PHP die Verarbeitung einer Seite abbricht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Invece di limitarsi a provare diverse impostazioni, il debugging fornisce informazioni tecniche sul reale svolgimento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 consente spesso di trasformare un sospetto in una diagnosi concreta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quando \u00e8 utile il debug di WordPress?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il debugging \u00e8 particolarmente utile quando un problema si verifica in modo riproducibile, ma il messaggio di errore visibile non fornisce una spiegazione sufficiente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 riguarda, ad esempio, errori critici di WordPress, errori HTTP 500, problemi dopo l'aggiornamento di un plugin o di un tema, errori dopo un cambio di versione di PHP o funzionalit\u00e0 che improvvisamente smettono di funzionare correttamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anche in caso di comportamento anomalo di un plugin, un registro pu\u00f2 fornire indizi, anche se il sito web in linea di massima continua a essere accessibile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Il debug non \u00e8 la stessa cosa che riparare<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un registro degli errori non risolve automaticamente il problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il debugging aiuta innanzitutto a identificarne la causa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se ad esempio un log mostra che si verifica un errore fatale di PHP all'interno di un determinato plugin, bisogna successivamente verificare perch\u00e9 questo errore si genera e quale soluzione sia adatta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La forza del debugging risiede pertanto non in una riparazione automatica, ma in una diagnosi notevolmente pi\u00f9 precisa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Creare un backup prima delle modifiche<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prima di modificare file di configurazione come <code>wp-config.php<\/code> dovrebbe essere presente un backup recente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un piccolo errore di sintassi in un file di configurazione PHP pu\u00f2 fare in modo che WordPress non venga pi\u00f9 caricato correttamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per i siti web complessi o critici per il business, un ambiente di staging \u00e8 fondamentalmente preferibile per estese attivit\u00e0 di debugging.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Il file wp-config.php<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le impostazioni di debug di WordPress pi\u00f9 importanti si trovano solitamente in:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-config.php<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">definito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo file si trova solitamente nella directory principale dell'installazione di WordPress o un livello sopra, a seconda di come \u00e8 stata configurata l'installazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Contiene le impostazioni centrali dell'installazione di WordPress e pertanto dovrebbe essere modificata solo con cautela.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WP_DEBUG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La costante centrale di WordPress per la modalit\u00e0 di debug si chiama:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>WP_DEBUG<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In un'installazione WordPress di produzione normale, il debug \u00e8 solitamente disattivato:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG', false );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per una diagnosi mirata pu\u00f2 essere attivato:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG', true );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con attivato <code>WP_DEBUG<\/code> WordPress aumenta la memorizzazione degli errori PHP e genera inoltre avvisi specifici di WordPress, ad esempio relativi a funzioni obsolete.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">non mettere true e false tra virgolette<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tra le costanti di debug ci sono <code>vero<\/code> e <code>falso<\/code> valori booleani.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Corretto \u00e8, ad esempio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG', false );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non dovrebbe essere usato:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG', 'false' );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La seconda variante contiene una stringa anzich\u00e9 un valore booleano e pu\u00f2 quindi portare a un risultato inatteso.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Importante:<\/strong> Per le costanti di WordPress, il tipo di dati dovrebbe essere acquisito correttamente. <code>falso<\/code> e <code>'falso'<\/code> non sono la stessa cosa in PHP.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">WP_DEBUG_LOG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Con<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>WP_DEBUG_LOG<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress pu\u00f2 scrivere i messaggi di debug in un file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una configurazione tipica \u00e8:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG_LOG', true );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se <code>WP_DEBUG_LOG<\/code> su <code>vero<\/code> impostato e <code>WP_DEBUG<\/code> \u00e8 attivo, WordPress utilizza per impostazione predefinita:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/debug.log<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">come file di log di debug.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WP_DEBUG_LOG richiede WP_DEBUG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una connessione importante viene spesso trascurata:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>WP_DEBUG_LOG<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">lavora all'interno del sistema di debug di WordPress insieme a:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>WP_DEBUG<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se <code>WP_DEBUG<\/code> non \u00e8 attivato, il solo fatto di impostare <code>WP_DEBUG_LOG<\/code> non il debug logging di WordPress previsto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Percorso personalizzato per WP_DEBUG_LOG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress pu\u00f2 essere utilizzato per <code>WP_DEBUG_LOG<\/code> utilizzare anche un percorso di file valido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 pu\u00f2 essere utile se il registro degli errori non deve essere salvato direttamente all'interno della directory del sito web pubblicamente accessibile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quali percorsi siano sensibili e scrivibili in un particolare ambiente di hosting dipende dalla configurazione del server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WP_DEBUG_DISPLAY<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La costante:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>WP_DEBUG_DISPLAY<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">determina se i messaggi di debug debbano essere visualizzati all'interno del sito web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per un sito web di produzione, durante una diagnosi \u00e8 spesso pi\u00f9 sensata la seguente combinazione rispetto a un output pubblico degli errori:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>define( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', false );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Questo consente a WordPress di registrare gli errori senza mostrarli intenzionalmente ai visitatori del sito web.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Attenzione:<\/strong> I messaggi di errore dettagliati possono contenere percorsi di file, configurazioni tecniche e altre informazioni interne. Non dovrebbero essere visualizzati pubblicamente in modo permanente su un sito web di produzione.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">considerare anche display_errors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L'effettiva emissione di errori PHP pu\u00f2 essere ulteriormente influenzata dalla configurazione di PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per una configurazione di diagnosi si pu\u00f2 quindi utilizzare in aggiunta:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>@ini_set( 'display_errors', 0 );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una possibile combinazione \u00e8 quindi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>define( 'WP_DEBUG', true );\ndefine( 'WP_DEBUG_LOG', true );\ndefine( 'WP_DEBUG_DISPLAY', false );\n@ini_set( 'display_errors', 0 );<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il fatto che le impostazioni PHP possano essere modificate o meno a runtime dipende tuttavia dalla configurazione del server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dove va inserito il codice di debug in wp-config.php?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le costanti di debug devono essere definite prima che WordPress venga caricato completamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In un tipico <code>wp-config.php<\/code> si trovano quindi di fronte alla nota riga finale o prima <code>wp-settings.php<\/code> viene integrato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se una definizione come:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG', false );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se \u00e8 gi\u00e0 presente, non dovresti crearne una seconda definizione contraddittoria in un altro punto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Trova il file debug.log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nella configurazione predefinita, il file di debug di WordPress si trova in:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/debug.log<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, \u00e8 possibile accedervi tramite il file manager dell'hosting o un apposito accesso per il trasferimento dei file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il file non deve necessariamente esistere gi\u00e0. Verr\u00e0 creato o scritto quando sar\u00e0 possibile registrare i relativi messaggi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Se non viene creato alcun file debug.log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se, nonostante il debug sia attivato, non compare alcun file, dovresti prima verificare se sia stato effettivamente generato un errore registrabile e se le costanti di debug siano impostate correttamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inoltre, i permessi dei file, il percorso di log configurato e la configurazione dell'hosting o di PHP possono giocare un ruolo importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un mancante <code>debug.log<\/code> non dimostra quindi automaticamente che WordPress funzioni senza errori.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Riprodurre l'errore in modo mirato<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uno dei metodi pi\u00f9 efficaci nell'analisi dei log \u00e8 la riproduzione controllata del problema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se ad esempio il clic su \u201eAggiorna\u201c in una determinata pagina provoca un errore, apri prima il registro oppure prendi nota del suo stato attuale. Esegui quindi esattamente questa azione di nuovo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Successivamente esamini le voci appena aggiunte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In questo modo riduci il rischio di confondere un vecchio errore, non pi\u00f9 rilevante da tempo, con il problema attuale.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I timestamp sono fondamentali<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Su un sito web attivo da tempo, un registro degli errori pu\u00f2 contenere voci provenienti da molte situazioni diverse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore irreversibile di ieri potrebbe non avere nulla a che fare con il problema che si verifica oggi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Annota quindi con la maggiore precisione possibile il momento in cui hai riprodotto l'errore e confrontalo con i timestamp nel registro.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Consiglio pratico:<\/strong> Riproduci un errore in modo controllato e annota l'ora. In questo modo \u00e8 possibile distinguere molto pi\u00f9 velocemente i log rilevanti dal vecchio rumore di protocollo.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Come si legge un errore PHP?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore PHP contiene spesso diversi componenti utili.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Particolarmente rilevanti sono il tipo di errore, il messaggio di errore, il percorso del file, il numero di riga e il timestamp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un esempio semplificato potrebbe apparire pi\u00f9 o meno cos\u00ec:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>PHP Fatal error: Uncaught Error ... in \/wp-content\/plugins\/beispiel-plugin\/datei.php on line 123<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In questo modo sai gi\u00e0 che PHP ha interrotto l'esecuzione a causa di un errore fatale e in quale area di codice l'errore \u00e8 diventato visibile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errore fatale PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uno:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Errore fatale PHP<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00e8 un errore grave che impedisce a PHP di continuare l'esecuzione in modo normale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tali errori possono essere causati, ad esempio, da codice incompatibile, funzioni o classi mancanti, problemi di memoria e altri gravi bug di programmazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore irreversibile \u00e8 quindi particolarmente rilevante in caso di errore HTTP 500 o di pagina bianca.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errore non intercettato e TypeError<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Messaggi come:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Errore non gestito<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">o:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Errore di tipo<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">indicano errori durante l'esecuzione di PHP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uno <code>Errore di tipo<\/code> pu\u00f2 verificarsi, ad esempio, quando il codice passa un valore di un tipo non idoneo a una funzione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tali errori si verificano frequentemente in caso di incompatibilit\u00e0 o di plugin, temi o codice personalizzato difettosi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Chiamata a funzione non definita<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un messaggio come:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Chiamata a funzione non definita<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">significa che PHP ha tentato di chiamare una funzione che non \u00e8 disponibile in questo contesto di esecuzione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le possibili cause includono codice incompatibile, una dipendenza mancante o un'estensione PHP non disponibile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il percorso del file e il nome della funzione forniscono importanti indizi per la diagnosi successiva.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Classe non trovata<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un messaggio come:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Classe ... non trovata<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">pu\u00f2 indicare che il codice di programma previsto non \u00e8 stato caricato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 pu\u00f2 essere causato, ad esempio, da file mancanti, dipendenze dei plugin, processi di autoloading errati o versioni incompatibili.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Impossibile rideclare<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Presso:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Impossibile rideclare<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ad esempio \u00e8 stato tentato di ridefinire una funzione gi\u00e0 esistente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo pu\u00f2 verificarsi in caso di codice caricato due volte o sovrapposto ed \u00e8 quindi interessante anche in caso di conflitti tra plugin o temi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dimensione della memoria consentita esaurita<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il messaggio:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Dimensione di memoria consentita ... esaurita<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">indica che PHP ha raggiunto il limite di memoria consentito durante l'esecuzione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 non significa automaticamente che sia necessario solo un limite pi\u00f9 alto. Un plugin o un processo potrebbe anche consumare una quantit\u00e0 insolitamente elevata di memoria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Trattiamo la diagnosi esatta sotto <a href=\"\/it\/aiuto\/wordpress\/limite-di-memoria-php-di-wordpress\/\">Limite di memoria PHP in WordPress: individuare e risolvere gli errori<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errore di analisi e errore di sintassi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore di sintassi si verifica quando il codice PHP non \u00e8 strutturato correttamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 pu\u00f2 verificarsi, ad esempio, dopo una modifica manuale a:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>functions.php<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">o:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-config.php<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">succedere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anche una sola parentesi mancante, un carattere errato o un punto e virgola difettoso possono fare in modo che PHP non riesca a interpretare correttamente il file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Warning non \u00e8 la stessa cosa di Fatal Error<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Uno:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Avviso PHP<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00e8 solitamente meno grave di un errore irreversibile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHP pu\u00f2 continuare l'esecuzione a seconda della situazione nonostante un avviso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gli avvisi dovrebbero comunque essere esaminati, soprattutto se si verificano frequentemente o sono correlati a un malfunzionamento specifico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tuttavia, non ogni avviso spiega automaticamente l'errore per cui hai aperto il registro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">interpretare correttamente l'avviso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Gli avvisi indicano spesso codice problematico o non pulito, senza interrompere immediatamente l'esecuzione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quando attivato <code>WP_DEBUG<\/code> perci\u00f2 possono risultare visibili molti messaggi, anche se il sito Web a prima vista funziona.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La quantit\u00e0 di segnalazioni non deve indurre a trattare ogni voce come ugualmente critica.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Messaggi di deprecazione<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress e PHP possono generare avvisi su funzioni o procedure obsolete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tali segnalazioni contengono spesso termini come:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>Deprecato<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un'deprecazione non significa necessariamente che la funzione abbia gi\u00e0 smesso di funzionare. Essa indica che il codice in questione \u00e8 obsoleto e potrebbe diventare problematico nelle versioni future.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel caso di plugin o temi, molti nuovi avvisi di deprecazione dopo un cambio di versione sono quindi un indizio per verificare l'attualit\u00e0 e la compatibilit\u00e0 della relativa estensione.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Il numero pi\u00f9 alto di segnalazioni non \u00e8 automaticamente il problema pi\u00f9 grande<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un plugin pu\u00f2 generare centinaia di avvisi, mentre un singolo errore fatale di un altro componente fa effettivamente crashare il sito web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La diagnosi dovrebbe pertanto essere effettuata in base alla rilevanza e non semplicemente in base al messaggio che compare pi\u00f9 frequentemente nel registro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Leggere correttamente i percorsi dei file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un percorso di file pu\u00f2 fornire un'importante indicazione sulla componente coinvolta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un percorso all'interno di:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/plugins\/<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">porta a un plugin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un percorso all'interno di:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/themes\/<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">porta a un tema o tema figlio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un percorso all'interno di:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-admin\/<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">o:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-includes\/<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">entra nel WordPress Core.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un percorso del core di WordPress non dimostra un errore del core<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se un messaggio di errore indica un file in <code>wp-includes<\/code> menziona, ci\u00f2 non significa automaticamente che WordPress stesso sia difettoso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, un plugin potrebbe chiamare una funzione del core di WordPress con dati non validi. L'errore potrebbe quindi diventare visibile all'interno della funzione del core, sebbene la causa reale si trovi al di fuori del core di WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L'intero contesto dell'errore \u00e8 quindi pi\u00f9 importante del solo ultimo percorso di file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Capire lo Stack Trace<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In caso di errori gravi, \u00e8 possibile registrare un cosiddetto stack trace.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mostra in modo semplificato quali funzioni o metodi sono stati chiamati prima che si verificasse l'errore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 consente di capire in quale punto si trovava PHP quando l'esecuzione \u00e8 stata interrotta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per gli sviluppatori e il supporto tecnico, un stack trace pu\u00f2 quindi essere molto pi\u00f9 significativo rispetto alla sola ultima riga di errore.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Indagare su conflitti di plugin o temi tramite i log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se un log fa ripetutamente riferimento a un determinato plugin o tema, questo componente rappresenta un punto di partenza utile per ulteriori analisi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dovrebbe comunque essere testata in modo controllato e non semplicemente cancellata.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puoi trovare il nostro metodo di lavoro su <a href=\"\/it\/aiuto\/wordpress\/conflitti-tra-plugin-e-tema-di-wordpress\/\">Rilevare e risolvere i conflitti di plugin o temi in WordPress<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errore dopo un cambio di versione di PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se immediatamente dopo il cambio della versione di PHP si verificano nuovi errori irreversibili (fatal error), type error o messaggi di deprecazione, \u00e8 necessario verificare la compatibilit\u00e0 dei componenti coinvolti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il percorso del file nel registro degli errori pu\u00f2 aiutare a identificare un plugin, un tema o uno snippet personalizzato obsoleto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spieghiamo di pi\u00f9 al riguardo sotto <a href=\"\/it\/aiuto\/wordpress\/modificare-la-versione-php-di-wordpress\/\">Modificare la versione di PHP per WordPress e verificare la compatibilit\u00e0<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Il file di debug.log di WordPress e il registro degli errori PHP non sono la stessa cosa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Questa differenza \u00e8 importante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il file:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/debug.log<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">si genera tramite il debug logging di WordPress, se \u00e8 stato opportunamente attivato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L'ambiente di hosting o PHP pu\u00f2 anche mantenere i propri registri degli errori.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questi log lato server possono contenere errori che non compaiono, o compaiono solo in parte, nel debug log di WordPress.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quale log dovrebbe essere controllato per primo?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se un registro degli errori PHP o del server \u00e8 disponibile tramite l'hosting, questo \u00e8 spesso un ottimo punto di partenza in caso di problemi PHP gravi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non richiede un'indicazione pubblica permanente dell'errore e pu\u00f2 gi\u00e0 contenere l'errore fatale decisivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se non ci sono informazioni sufficienti, un debug mirato di WordPress pu\u00f2 fornire ulteriori dettagli.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Diagnosticare HTTP 500 con i log<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In caso di errore HTTP 500, il browser mostra spesso solo un messaggio di errore del server generico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il registro degli errori, d'altra parte, pu\u00f2 contenere il fatal error PHP sottostante, un errore di memoria o altri problemi lato server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La procedura completa \u00e8 disponibile all'indirizzo <a href=\"\/it\/aiuto\/wordpress\/wordpress-fehler-500-beheben\/\">Risolvere l'errore 500 in WordPress<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Indaga su un errore critico di WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress pu\u00f2 mostrare un messaggio di errore critico in caso di determinati errori PHP fatali e, se necessario, offrire la modalit\u00e0 di recupero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anche qui i log possono fornire ulteriori informazioni su quale componente ha generato l'errore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spieghiamo i relativi passaggi di ripristino su <a href=\"\/it\/aiuto\/wordpress\/errore-critico-di-wordpress-pagina-bianca\/\">WordPress mostra una pagina bianca o un errore critico: cosa fare?<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Registra errore AJAX<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un vantaggio di <code>WP_DEBUG_LOG<\/code> consiste nel fatto che possono essere registrati errori che non compaiono su una normale pagina visibile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 \u00e8 utile, ad esempio, nelle richieste AJAX.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quando un editor, un modulo o un plugin di WordPress utilizza una richiesta AJAX e questa fallisce sul lato server, un registro pu\u00f2 fornire indizi sull'errore PHP.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WP-Cron e processi in background<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anche gli errori durante le attivit\u00e0 pianificate di WordPress possono essere difficili da individuare, perch\u00e9 nessun visitatore vede immediatamente un corrispondente messaggio di errore.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L'logging \u00e8 quindi utile anche per WP-Cron e altri processi in background.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se un processo pianificato fallisce ripetutamente, si dovrebbero esaminare i timestamp e i modelli di errore ricorrenti.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errore API REST<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le moderne funzionalit\u00e0 e i plugin di WordPress utilizzano spesso la REST API.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore PHP lato server durante una richiesta REST potrebbe non comparire come normale messaggio di errore all'interno di una pagina WordPress visibile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anche qui i log possono fornire molte pi\u00f9 informazioni rispetto all'interfaccia utente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gli errori JavaScript non si trovano necessariamente nel log di PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il debug di WordPress e i log degli errori PHP si concentrano sulle operazioni lato server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se ad esempio un menu, un cursore o un pulsante nel browser non risponde, la causa potrebbe invece essere legata a JavaScript.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Errori di questo tipo vengono spesso analizzati tramite gli strumenti di sviluppo del browser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un registro degli errori PHP vuoto, pertanto, non dimostra che non esistano errori tecnici su un sito web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I problemi CSS di solito non compaiono nemmeno nel log di PHP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un elemento visualizzato in modo errato pu\u00f2 essere causato dal CSS, anche se il PHP funziona in modo completamente privo di errori.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se un sito web funziona tecnicamente, ma ad esempio spaziature, colori o layout vengono visualizzati in modo errato, gli strumenti di sviluppo del browser sono spesso lo strumento di diagnostica pi\u00f9 adatto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Errore del database<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anche i problemi di database possono causare errori tecnici.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con il debug di WordPress attivato, \u00e8 possibile visualizzare o registrare informazioni aggiuntive sugli errori del database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un errore in una query SQL non dovrebbe tuttavia essere \u201eriparato\u201c automaticamente tramite modifiche manuali al database. Innanzitutto si dovrebbe determinare quale componente genera la query problematica.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Il debugging pu\u00f2 influenzare il sito web stesso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La registrazione estesa genera ulteriori operazioni sui file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se un sito Web produce molti avvisi o note per richiesta, la registrazione attivata pu\u00f2 scrivere una grande quantit\u00e0 di dati.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il debugging dovrebbe quindi essere considerato uno strumento di diagnosi e non come lo stato normale permanentemente attivo di un sito web di produzione.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Un file debug.log pu\u00f2 diventare molto grande<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se lo stesso errore viene registrato pi\u00f9 volte a ogni caricamento di pagina, si pu\u00f2:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/debug.log<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">crescere rapidamente in breve tempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ci\u00f2 occupa spazio di archiviazione e rende inoltre pi\u00f9 difficile la valutazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dopo una diagnosi, dovresti quindi verificare se il debugging \u00e8 stato nuovamente disattivato e se un file di log non pi\u00f9 necessario pu\u00f2 essere rimosso in modo sicuro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">I log possono contenere informazioni sensibili<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I registri degli errori possono contenere percorsi di file interni, configurazioni tecniche, informazioni sulle query e, a seconda dell'applicazione difettosa, ulteriori dati.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pertanto, non trattare i log come file di testo pubblicamente accessibili.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quando un registro viene inoltrato al supporto o a uno sviluppatore, dovrebbe essere inviato solo il frammento necessario per la diagnosi e si dovrebbe verificare in anticipo se contiene dati sensibili.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Attenzione:<\/strong> Non pubblicare log di debug completi senza prima averli verificati in forum pubblici, ticket o social network. Controlla prima quali informazioni contengono.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">debug.log in directory accessibile al pubblico<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il percorso predefinito:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>wp-content\/debug.log<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">si trova all'interno della struttura delle directory di WordPress.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A seconda della configurazione del server web, un file salvato l\u00ec pu\u00f2 potenzialmente essere accessibile tramite HTTP. WordPress stesso segnala quindi che i registri degli errori pubblicamente accessibili possono rappresentare un rischio per la sicurezza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sullevare i sistemi di produzione richiede pertanto un uso controllato della registrazione degli eventi e che il file di log non venga lasciato inutilmente attivo una volta completata la diagnosi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Disattivare nuovamente il debug dopo la risoluzione dei problemi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dopo il completamento della diagnosi, un sito web di produzione dovrebbe essere riportato a una configurazione normale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una configurazione WordPress semplice pu\u00f2 ad esempio tornare a:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>define( 'WP_DEBUG', false );<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">usare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se sono state aggiunte costanti di debug aggiuntive solo per la diagnostica, si dovrebbe verificare se sono ancora necessarie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gestire il registro di debug dopo la diagnosi<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se il file di log non \u00e8 pi\u00f9 necessario, pu\u00f2 essere rimosso dopo aver salvato le informazioni eventualmente rilevanti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wird Debug-Logging sp\u00e4ter erneut aktiviert, kann WordPress beziehungsweise PHP wieder neue Meldungen protokollieren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das Entfernen einer alten Logdatei behebt allerdings keine Ursache. Es dient lediglich dazu, nicht mehr ben\u00f6tigte Diagnoseinformationen zu entfernen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Alte Fehler nicht mit aktuellen Problemen verwechseln<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Eine vorhandene <code>debug.log<\/code> kann Meldungen enthalten, die Wochen oder Monate alt sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn eine Website heute einen Fehler zeigt, sollte deshalb nicht automatisch der auff\u00e4lligste alte Fatal Error als Ursache angenommen werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Der Vergleich mit dem aktuellen Zeitpunkt ist entscheidend.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wiederkehrende Fehlermuster erkennen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn derselbe Fehler immer wieder zu bestimmten Zeiten auftritt, kann das auf einen geplanten Prozess hinweisen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beispielsweise k\u00f6nnen Cronjobs, Backups, Imports oder Sicherheits-Scans regelm\u00e4\u00dfig bestimmte Funktionen ausf\u00fchren.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein zeitliches Muster im Log kann deshalb einen wichtigen Hinweis liefern, auch wenn die Website zwischen diesen Ereignissen normal funktioniert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Logs vor und nach einer \u00c4nderung vergleichen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Bei einer kontrollierten Diagnose solltest du m\u00f6glichst nur eine relevante Variable gleichzeitig ver\u00e4ndern.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn beispielsweise ein Plugin deaktiviert wird, reproduziere anschlie\u00dfend den Fehler erneut und vergleiche die neuen Logeintr\u00e4ge.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verschwindet der Fehler, ist das eine wesentlich st\u00e4rkere Information als eine zuf\u00e4llige \u00c4nderung von f\u00fcnf verschiedenen Einstellungen gleichzeitig.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Debugging bei einer langsamen WordPress-Website<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Error Log ist kein vollst\u00e4ndiges Performance-Analysewerkzeug.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es kann jedoch Hinweise auf Prozesse liefern, die st\u00e4ndig Fehler oder Warnungen erzeugen und dadurch zus\u00e4tzliche Last verursachen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr eine vollst\u00e4ndige Performance-Diagnose m\u00fcssen zus\u00e4tzlich PHP-Verarbeitung, Datenbank, Plugins, Frontend-Ressourcen und Hosting-Ressourcen betrachtet werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spieghiamo la procedura su <a href=\"\/it\/aiuto\/wordpress\/come-migliorare-la-velocita-di-caricamento-di-wordpress-lento\/\">WordPress \u00e8 lento: trovare le cause e migliorare il tempo di caricamento<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Query Monitor und \u00e4hnliche Diagnosewerkzeuge<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr weitergehende Analysen existieren WordPress-Plugins, die zus\u00e4tzliche technische Informationen darstellen k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein bekanntes Werkzeug ist beispielsweise Query Monitor. Damit k\u00f6nnen unter anderem Datenbankabfragen, PHP-Fehler, Hooks, HTTP-API-Aufrufe und weitere Informationen w\u00e4hrend einer Anfrage untersucht werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Solche Werkzeuge richten sich vor allem an Entwickler und technisch erfahrene Benutzer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sie sollten nicht dauerhaft nur deshalb installiert und aktiviert bleiben, weil eine Website irgendwann einmal einen Fehler hatte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SCRIPT_DEBUG ist nicht dasselbe wie WP_DEBUG<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress kennt zus\u00e4tzlich:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>SCRIPT_DEBUG<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Konstante ist nicht mit <code>WP_DEBUG<\/code> equiparare.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sie wird insbesondere bei der Entwicklung und Diagnose von WordPress-Core-JavaScript- beziehungsweise CSS-Dateien verwendet und ist f\u00fcr eine normale PHP-Fehlersuche in der Regel nicht erforderlich.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SAVEQUERIES nur gezielt verwenden<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr Datenbankdiagnosen existiert au\u00dferdem:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>SAVEQUERIES<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Damit k\u00f6nnen Informationen zu Datenbankabfragen gesammelt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Funktion erzeugt zus\u00e4tzlichen Speicher- und Performance-Aufwand und sollte deshalb nur gezielt zur Diagnose eingesetzt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr normale WordPress-Benutzer ist sie bei einer \u00fcblichen Fehlersuche normalerweise nicht der erste Schritt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Debugging auf Staging und Produktion unterscheiden<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Auf einer Entwicklungs- oder Staging-Umgebung k\u00f6nnen ausf\u00fchrliche Diagnoseinformationen sinnvoll sein, weil dort keine normalen Besucher betroffen sind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf einer produktiven Website muss dagegen st\u00e4rker darauf geachtet werden, dass technische Informationen nicht \u00f6ffentlich ausgegeben werden und das Logging nur so lange wie n\u00f6tig aktiv bleibt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die gleiche Debug-Konfiguration ist deshalb nicht automatisch f\u00fcr jede Umgebung geeignet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was du beim Debugging besser nicht tun solltest<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aktiviere nicht einfach die \u00f6ffentliche Ausgabe s\u00e4mtlicher PHP-Fehler auf einer produktiven Website und lasse diese Einstellung anschlie\u00dfend dauerhaft bestehen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c4ndere au\u00dferdem nicht gleichzeitig mehrere Plugins, das Theme, PHP und die WordPress-Konfiguration. Dadurch wird schwer nachvollziehbar, welche \u00c4nderung den Fehler tats\u00e4chlich beeinflusst hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u00f6sche nicht sofort eine Komponente nur deshalb, weil ihr Dateipfad in einem Log erscheint. Pr\u00fcfe zun\u00e4chst den Zusammenhang und reproduziere den Fehler kontrolliert.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Und sende vollst\u00e4ndige Logdateien nicht ungepr\u00fcft an beliebige Dritte.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Regola fondamentale:<\/strong> Fehler reproduzieren, Zeitpunkt notieren, relevante Logeintr\u00e4ge identifizieren und erst danach eine gezielte \u00c4nderung vornehmen. Anschlie\u00dfend denselben Fehler erneut testen. So wird aus Ausprobieren eine nachvollziehbare technische Diagnose.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Quali informazioni aiutano il supporto di CURIAWEB?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn du CURIAWEB wegen eines WordPress-Fehlers kontaktierst, beschreibe zun\u00e4chst, welche Aktion den Fehler ausl\u00f6st und wann er zuletzt aufgetreten ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ein relevanter Logausschnitt mit Zeitstempel ist wesentlich hilfreicher als eine vollst\u00e4ndige Datei mit tausenden \u00e4lteren Meldungen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn ein Fatal Error vorhanden ist, sollte die vollst\u00e4ndige zugeh\u00f6rige Fehlermeldung einschlie\u00dflich Dateipfad und gegebenenfalls Stack Trace \u00fcbermittelt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Teile au\u00dferdem mit, ob unmittelbar zuvor WordPress, ein Plugin, das Theme, PHP oder individueller Code ver\u00e4ndert wurde.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entferne beziehungsweise schw\u00e4rze sensible Informationen, falls sie f\u00fcr die Diagnose nicht ben\u00f6tigt werden. Passw\u00f6rter solltest du niemals unaufgefordert in einem Fehlerprotokoll oder Support-Ticket mitsenden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Riepilogo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WordPress Debugging und Fehlerprotokolle geh\u00f6ren zu den wichtigsten Werkzeugen f\u00fcr eine systematische technische Fehlersuche. Statt lediglich aufgrund einer sichtbaren Fehlermeldung zu raten, k\u00f6nnen Logs zeigen, welcher Fehler tats\u00e4chlich aufgetreten ist, wann er entstand und welcher Codebereich beteiligt war.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die zentrale Einstellung <code>WP_DEBUG<\/code> aktiviert den WordPress-Debug-Modus. Mit <code>WP_DEBUG_LOG<\/code> k\u00f6nnen Meldungen protokolliert werden, w\u00e4hrend <code>WP_DEBUG_DISPLAY<\/code> steuert, ob diese Informationen auf der Website angezeigt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auf einer produktiven Website ist es normalerweise sinnvoller, Fehler kontrolliert zu protokollieren, statt technische Details \u00f6ffentlich auszugeben. Die standardm\u00e4\u00dfige WordPress-Debugdatei <code>wp-content\/debug.log<\/code> sollte au\u00dferdem als potenziell sensible Datei behandelt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bei der Auswertung sind Fehlertyp, Zeitstempel, Dateipfad und gegebenenfalls Stack Trace besonders wichtig. Ein Dateipfad liefert einen Hinweis, beweist aber nicht immer allein, welche Komponente die eigentliche Ursache ist.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nach Abschluss der Diagnose sollte Debugging auf einer produktiven Website wieder passend deaktiviert und eine nicht mehr ben\u00f6tigte Logdatei entfernt beziehungsweise sicher behandelt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die wichtigste Methode bleibt dabei einfach: <strong>Fehler reproduzieren, Log pr\u00fcfen, Ursache eingrenzen, eine gezielte \u00c4nderung durchf\u00fchren und anschlie\u00dfend erneut testen.<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Wenn WordPress einen kritischen Fehler, HTTP 500, eine weisse Seite oder ein anderes technisches Problem zeigt, reicht die sichtbare Fehlermeldung h\u00e4ufig nicht aus, um die tats\u00e4chliche Ursache zu erkennen. WordPress und PHP k\u00f6nnen deshalb detailliertere Fehlerinformationen protokollieren. Diese Logs zeigen beispielsweise, welcher Fehlertyp aufgetreten ist, zu welchem Zeitpunkt der Fehler entstand und welche PHP-Datei beteiligt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_joinchat":[],"footnotes":""},"doc_category":[80],"doc_tag":[],"class_list":["post-22443","docs","type-docs","status-publish","hentry","doc_category-wordpress"],"year_month":"2026-09","word_count":3951,"total_views":"6","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Silvio Mazenauer","author_nicename":"admin-curia","author_url":"https:\/\/www.curiaweb.ch\/it\/author\/admin-curia\/"},"doc_category_info":[{"term_name":"WordPress","term_url":"https:\/\/www.curiaweb.ch\/it\/hilfe-kategorie\/wordpress\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/docs\/22443","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/comments?post=22443"}],"version-history":[{"count":1,"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/docs\/22443\/revisions"}],"predecessor-version":[{"id":22445,"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/docs\/22443\/revisions\/22445"}],"wp:attachment":[{"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/media?parent=22443"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/doc_category?post=22443"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/www.curiaweb.ch\/it\/wp-json\/wp\/v2\/doc_tag?post=22443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}