- Home
- Blog
- Web developer
- PHP deprecated warnings: come identificarli e correggerli in upgrade di versione
PHP deprecated warnings: come identificarli e correggerli in upgrade di versione

Getting your Trinity Audio player ready... |
Quando aggiorni un sito o un’applicazione da una vecchia versione di PHP a una più recente (per esempio da PHP 7.4 a 8.1), potresti iniziare a vedere fastidiosi messaggi come:
Deprecated: Function xyz() is deprecated... Questi avvisi indicano che una funzione o una pratica che stai usando è obsoleta e potrebbe essere rimossa nelle future versioni di PHP.
Se ignorati, possono portare a errori fatali o incompatibilità.
🧩 Cosa significa “deprecated”?
In PHP, una funzione marcata come deprecated:
✅ È ancora disponibile e funzionante per compatibilità
❌ Ma non è più consigliata perché potrebbe essere rimossa o sostituita in futuro
Esempi comuni:
- Funzioni
mysql_*()obsolete in favore dimysqli_*()o PDO - Funzioni non tipizzate che richiedono tipizzazione nelle versioni recenti
- Parametri passati per riferimento non più ammessi
🔍 Come identificare i warning deprecated
✅ 1. Abilita error_reporting
Nel tuo ambiente di sviluppo, aggiungi nel php.ini o all’inizio del file:
error_reporting(E_ALL); ini_set('display_errors', 1); Così PHP mostra tutti gli avvisi, compresi Deprecated.
✅ 2. Controlla i log di errore
Su server live non mostrare mai gli errori a schermo.
Verifica i log:
- File
error_log - Log del tuo hosting (
/var/log/apache2/error.logo simili) - Log in
/logs/se usi Plesk o cPanel
✅ 3. Usa strumenti di analisi statica
Tool come:
- PHP_CodeSniffer
- PHPStan
- Psalm
Ti aiutano a individuare funzioni deprecate o non compatibili con la nuova versione.
⚙️ Come correggere i deprecated
🔧 1. Aggiorna le funzioni obsolete
Sostituisci funzioni e metodi non più supportati:
- Da
mysql_connect()amysqli_connect()o PDO. - Da vecchie funzioni
eregapreg_match.
🔧 2. Controlla librerie di terze parti
Molti warning arrivano da plugin o librerie vecchie.
✅ Aggiorna Composer (composer update).
✅ Se la libreria è abbandonata, valuta una sostituzione o fork.
🔧 3. Aggiusta la tipizzazione
PHP 8 ha introdotto controlli più severi:
- Parametri obbligatori devono avere un tipo definito.
- Evita valori
nullse non gestiti.
🔧 4. Testa in staging
Mai aggiornare PHP direttamente in produzione senza test:
- Crea un ambiente di staging con la nuova versione PHP.
- Controlla i log.
- Correggi tutti i warning prima di switchare live.
🗂️ Come prevenire in futuro
✔️ Mantieni aggiornato il codice e le librerie
✔️ Leggi sempre i PHP migration guides: PHP.net
✔️ Usa composer outdated per sapere cosa aggiornare
✔️ Versiona tutto con Git per fare rollback in caso di bug
🔚 Conclusione
I PHP deprecated warnings sono un campanello d’allarme: ignorarli oggi significa ritrovarsi con errori fatali domani.
Affrontali subito:
✅ Identifica le funzioni obsolete
✅ Aggiorna codice e librerie
✅ Verifica compatibilità prima di andare live