“Cannot redeclare” indica che PHP incontra una funzione già definita. I due percorsi riportati nel log aiutano a capire se viene caricato due volte un file oppure se due componenti usano lo stesso nome.
Indice dei contenuti
Che cosa significa
PHP interrompe l’esecuzione perché una funzione con lo stesso nome è già stata definita.
Come riconoscere il problema
- Fatal cannot redeclare.
- Pagina bianca o errore critico.
- Due percorsi nel log.
- Problema dopo copia plugin.
- Snippet duplicato.
Cause più frequenti
- Due componenti definiscono la stessa funzione.
- Lo stesso file viene incluso più volte.
- Uno snippet è presente in più punti del progetto.
Diagnosi passo per passo
- Leggi entrambi i percorsi e cerca le definizioni della funzione.
- Controlla plugin duplicati, snippet e file di tema padre e tema child.
- Verifica chi include i file e in quale ordine: svuotare OPcache da solo non elimina una doppia definizione nel codice.
Procedura di risoluzione
- Conserva i file e individua entrambe le definizioni prima di eliminarne una.
- Nel codice personalizzato, require_once evita di includere nuovamente lo stesso file; non risolve due funzioni omonime definite in file diversi.
- Per una collisione tra componenti, correggi nomi o namespace e tutti i riferimenti coinvolti, oppure usa l’aggiornamento del produttore.
- Se hai una copia duplicata di un plugin o uno snippet, disattiva soltanto quella identificata, prima in staging.
- Verifica sito, amministrazione e processi pianificati dopo la correzione.
Guide Xlogic correlate
- WordPress Fatal error Class not found
- WordPress errore connessione sicura a WordPress.org
- WordPress: estensione PHP mancante o non disponibile
Riferimenti tecnici