Versioni PHP e aggiornamenti
Modulo 8: Backup, sito di staging e aggiornamenti PHP · Tempo di lettura: 10 minuti
Obiettivo della lezione: dopo questa lezione sarà in grado di preparare, eseguire e, se necessario, annullare in sicurezza un aggiornamento di PHP.
Concetti chiave: ciclo di vita di PHP (supporto attivo, solo sicurezza, fine), compatibilità di WordPress, tema e plugin, obsoleto (deprecated), avviso, errore fatale, Salute del sito, log degli errori, sito di staging, ripristinare, far eseguire l'aggiornamento
Perché le versioni di PHP sono importanti
WordPress, il Suo tema e i Suoi plugin sono scritti in PHP (lezione 1.2). Ogni anno esce una nuova versione di PHP (8.3, 8.4, 8.5, ...). Ogni versione viene mantenuta per un periodo fisso:
- supporto attivo: due anni con correzioni di errori e di sicurezza;
- solo sicurezza: altri due anni, con sole correzioni di sicurezza;
- fine (end of life): nessuna correzione, nemmeno per le falle di sicurezza.
La situazione all'8 novembre 2026, secondo php.net:
| Versione | Aggiornamenti di sicurezza fino al | Stato |
|---|---|---|
| 8.1 e precedenti | (scaduto) | Nessun aggiornamento |
| 8.2 | 31 dicembre 2026 | Solo sicurezza, quasi alla fine |
| 8.3 | 31 dicembre 2027 | Solo sicurezza |
| 8.4 | 31 dicembre 2028 | Attivo |
| 8.5 | 31 dicembre 2029 | Attivo |
Un sito su una versione senza aggiornamenti funziona con un software con falle note che non vengono più corrette. Inoltre le versioni più recenti sono visibilmente più veloci (lezione 6.3). E wordpress.org consiglia PHP 8.3 o superiore (situazione a novembre 2026). L'obiettivo è quindi restare aggiornati ogni anno, non fare un grande salto una volta ogni cinque anni.
Perché un aggiornamento può rompere qualcosa
Ogni nuova versione di PHP cambia qualcosa. Le funzioni già segnalate da anni come obsolete (deprecated) vengono rimosse, e le regole diventano più severe. Alcuni esempi noti:
- PHP 8.0 ha rimosso, tra l'altro,
create_function()eeach(), e molti avvisi sono diventati errori; - PHP 8.2 ha segnalato come obsoleta la creazione dinamica di proprietà sugli oggetti, una pratica molto diffusa nei plugin più datati.
Esistono tre tipi di messaggi, e la differenza è importante:
| Messaggio | Significato | Conseguenza |
|---|---|---|
| Deprecated (obsoleto) | "Funziona ancora, ma sparirà in una versione futura" | Nulla di visibile; un avviso per il futuro |
| Warning o Notice | Qualcosa non è del tutto corretto | Di solito nulla di visibile, a volte un elemento che si comporta in modo strano |
| Fatal error | PHP si interrompe | Pagina bianca o "errore critico" (lezione 5.4) |
WordPress in sé di solito si adatta bene alle nuove versioni di PHP. Il rischio risiede nei plugin e nei temi datati, soprattutto se non vengono aggiornati da tempo o sono realizzati su misura.
Trovare la versione attuale
- In WordPress: Strumenti > Salute del sito, scheda Informazioni, sotto Server: la versione di PHP. Salute del sito avvisa anche se la versione è obsoleta.
- Nel pannello di hosting: con DirectAdmin e CloudLinux in Select PHP version (con "(current)" accanto alla versione attuale).
- A volte il server lo rivela nell'intestazione
X-Powered-By: PHP/8.3.x. Meglio di no (lezione 7.4), ma se è presente, basta un'occhiata.
Attenzione: presso molti provider la versione di PHP vale per l'intero pacchetto, quindi per tutti i siti contenuti. Un sito datato nello stesso pacchetto può bloccarLa. Questo è un motivo in più per ripulire i siti vecchi o assegnare loro un pacchetto proprio.
L'aggiornamento, passo per passo
- Prima aggiornare. Aggiorni WordPress, il Suo tema e tutti i Suoi plugin sulla versione PHP attuale. Gran parte dei problemi si risolve già così, perché gli sviluppatori adattano il proprio codice alle nuove versioni di PHP.
- Verifichi cosa dicono i Suoi plugin. Nella pagina del plugin su wordpress.org è indicata la versione PHP richiesta; nel changelog spesso si trova "compatible with PHP 8.x". Un plugin non aggiornato da anni (lezione 5.3) è un candidato da sostituire.
- Creare un backup (lezione 8.1).
- Testare su un sito di staging (lezione 8.3). Se il Suo provider può assegnare una versione PHP diversa per ogni sito, imposti lo staging sulla nuova versione. Se non è possibile (una sola versione per pacchetto), faccia il test su uno staging in un altro pacchetto, in locale, oppure scelga un momento tranquillo in produzione tenendo pronta la vecchia versione per il ripristino.
- Passaggio: scelga la nuova versione nel Suo pannello. Con DirectAdmin e CloudLinux la sceglie in Select PHP version e clicca su Apply; senza Apply non cambia nulla.
- Verifica immediata: apra il Suo sito e navighi tra alcune pagine, inclusa l'area di amministrazione, un modulo e (per un negozio) il checkout. Controlli nel log degli errori (lezione 5.4) la presenza di nuove righe
PHP Fatal error. - Estensioni e impostazioni: presso alcuni provider, estensioni PHP e opzioni (come
memory_limit) sono legate a una versione specifica. Dopo il passaggio, verifichi che siano impostate correttamente per la nuova versione.
Se qualcosa va storto
- Errore fatale: ripristini la vecchia versione (presso la maggior parte dei provider è possibile farlo immediatamente), così il Suo sito torna a funzionare. Cerchi nel log degli errori quale plugin o tema fosse coinvolto (il percorso è indicato nel messaggio di errore), lo aggiorni, lo sostituisca o chieda all'autore una soluzione. Poi riprovi.
- Solo messaggi deprecated: nessun motivo per tornare indietro. Ma è un avviso: nella prossima versione potrebbe diventare un errore. Annoti quale plugin è coinvolto.
- Codice su misura che non funziona più: un sito datato realizzato da un web designer può contenere codice che nessuno mantiene più. In tal caso quel codice deve essere adattato da qualcuno che conosce PHP. Alcuni provider, anche WebOké, offrono di farlo per Lei.
Non lasci un sito "per sempre" su una versione datata solo perché un plugin non è compatibile. È solo rimandare un problema che cresce ogni anno.
Maggiore sicurezza in anticipo
Per chi vuole approfondire: con PHP_CodeSniffer e le regole di PHPCompatibilityWP può far controllare il codice dei Suoi plugin e temi alla ricerca di elementi che non funzionano in una versione PHP più recente, senza dover eseguire il sito. Questo individua molti problemi, ma non tutti. Il test su un sito di staging resta necessario.
Nella pratica: come si presenta in un pannello
Come esempio utilizziamo DirectAdmin con CloudLinux. In cPanel si chiama spesso MultiPHP Manager o Select PHP Version, in Plesk PHP Settings.
- Apra Select PHP version (sotto Extra Programmi).
- Clicchi sulla versione in PHP version, scelga la nuova versione e clicchi su Apply.
- Verifichi le schede Extensions e Options per la nuova versione.
- Controlli il Suo sito e il log degli errori. Se qualcosa non funziona, scelga la vecchia versione e clicchi su Apply.
Riepilogo
- Ogni versione di PHP riceve due anni di supporto attivo e due anni di sola sicurezza; dopodiché nessuna correzione. L'8 novembre 2026 la 8.1 non riceve più nulla e la 8.2 resta supportata fino a fine 2026.
- Un aggiornamento danneggia soprattutto plugin e temi datati; deprecated è un avviso, un fatal error blocca il sito.
- Ordine corretto: aggiornare tutto, verificare i plugin, backup, test su staging, passaggio, verifica immediata.
- Se qualcosa va storto, ripristini la vecchia versione, individui il colpevole nel log degli errori e lo risolva; non resti bloccato su una versione datata.
- Presso molti provider la versione vale per l'intero pacchetto; ripulisca i siti vecchi.
Quiz
Esercizio
Esercizio A8.4: La Sua versione di PHP è ancora supportata? Verifichi in Strumenti > Salute del sito (scheda Informazioni, Server) quale versione di PHP utilizza il Suo sito e la inserisca, insieme al Suo dominio. Il programma confronta la versione con l'elenco delle versioni supportate di php.net: verde per il supporto attivo, arancione per sola sicurezza, rosso se non arrivano più aggiornamenti. Se il Suo server mostra la versione nell'intestazione X-Powered-By, il programma verifica anche che corrisponda a quanto inserito (e Le segnala che è meglio nascondere quell'intestazione, lezione 7.4).
Esercizio D8.4: Un piano di aggiornamento. Scriva un piano per l'aggiornamento del Suo sito alla versione PHP più recente offerta dal Suo provider. Indichi: versione attuale e versione di destinazione, quali plugin e temi ha e se supportano la versione di destinazione (con l'indicazione di dove lo ha letto), dove effettua il test (staging, altro pacchetto, locale), come può tornare indietro e quando lo farà. Lo esegua se può, e annoti cosa è comparso nel log degli errori.
Esercizio D8.4: Un piano di aggiornamento
Questo esercizio lo svolge da sé; nessuno lo verifica. Spunti ciò che ha fatto e segni l'esercizio come completato.
Scelga una versione di destinazione con supporto attivo (o almeno ancora aggiornamenti di sicurezza) e indichi per ogni plugin una fonte (pagina del plugin, changelog, Diagnostica del sito).
Le Sue spunte e note restano solo in questo browser; non le inviamo da nessuna parte. Se ha effettuato l'accesso, conserviamo in I miei corsi solo il fatto che ha svolto l'esercizio.
Per saperne di più
Questi articoli descrivono i passaggi nei pannelli di WebOké; in altri pannelli funzionano in modo simile.
- Guida DirectAdmin 14.1: Scegliere la versione di PHP (Select PHP version)
- Guida DirectAdmin 14.6: Errori dopo un aggiornamento di PHP e come trovare il log degli errori
- Modificare la versione PHP e le impostazioni PHP (e cosa fare in caso di errori dopo un aggiornamento)
- Guida DirectAdmin 14.2: Attivare e disattivare le estensioni PHP
- Guida WebOké 6.11: Far eseguire l'aggiornamento PHP
- Versioni PHP supportate (php.net, in inglese): https://www.php.net/supported-versions.php
- PHP e versioni di WordPress (make.wordpress.org, in inglese): https://make.wordpress.org/core/handbook/references/php-compatibility-and-wordpress-versions/
