In breve: PHP Cannot declare class name already in use — indica che la stessa classe viene dichiarata più di una volta nello stesso processo PHP.
Indice dei contenuti
PHP Cannot declare class name already in use: significato
Le prime ipotesi da verificare per “PHP Cannot declare class name already in use” sono plugin duplicato in directory differenti; require usato al posto di require_once.

Sintomi e cause probabili
Sintomi da verificare
- Il messaggio “PHP Cannot declare class name already in use” compare durante un’operazione ripetibile.
- La funzione coinvolta in PHP non raggiunge il risultato previsto.
- Il log dell’area PHP registra un evento nello stesso minuto della prova.
- Il comportamento osservato in PHP cambia in base a utente, rete, file o configurazione.
Cause probabili
- Plugin duplicato in directory differenti
- Require usato al posto di require_once
- Due plugin includono la stessa libreria
- Autoload configurato due volte
Diagnosi passo per passo
- Leggere nome classe e due percorsi coinvolti
- Cercare copie del plugin o libreria
- Controllare include e autoloader
- Verificare ordine di caricamento
- Ripetere dopo un deploy coerente e reset opcode controllato
Log e dati da controllare
- PHP error_log
- WordPress debug.log se applicabile
- versione, estensioni e configurazione PHP
Correzioni sicure
- Rimuovere la copia duplicata
- Usare caricamento idempotente
- Gestire le dipendenze con un solo autoloader
- Aggiornare componenti che incorporano librerie conflittuali
- Completare il deploy prima di riavviare PHP

Verifica finale
- La stessa chiamata termina senza warning o fatal error
- Lo stack trace non ricompare
- Frontend e processi in background funzionano
- La correzione resta compatibile con la versione PHP in uso
Errori da evitare
- Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
- Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
- Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
- Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza
Guide Xlogic correlate
- PHP Fatal error: Cannot declare class because the name is already in use
- PHP Call to a member function on null
- PHP Cannot use object of type stdClass as array
Fonti tecniche
Domande frequenti
Che cosa significa “PHP Cannot declare class name already in use”?
PHP Cannot declare class name already in use — indica che la stessa classe viene dichiarata più di una volta nello stesso processo PHP.
Da cosa può dipendere “PHP Cannot declare class name already in use”?
Le cause da verificare per “PHP Cannot declare class name already in use” sono: plugin duplicato in directory differenti; require usato al posto di require_once; due plugin includono la stessa libreria.
Quali controlli eseguire per “PHP Cannot declare class name already in use”?
Per diagnosticare “PHP Cannot declare class name already in use”, controlla nell’ordine: leggere nome classe e due percorsi coinvolti; cercare copie del plugin o libreria; controllare include e autoloader. La soluzione è confermata quando la stessa chiamata termina senza warning o fatal error; lo stack trace non ricompare.