Torna al blog

Come cambiare versione PHP su cPanel: passare a PHP 8.3, 8.4 o 8.5 senza rompere il sito

Pubblicato il 19 ottobre 2026 di Admin
Code PHP d'un fichier de configuration affiché dans un éditeur sur fond sombre

Dal 1° gennaio 2026 PHP 8.1 non riceve più alcuna patch di sicurezza, e PHP 8.2 seguirà il 31 dicembre 2026. Se il vostro sito gira ancora su una di queste versioni, è il momento di cambiare versione PHP su cPanel. Questa guida vi aiuta a scegliere tra PHP 8.3, 8.4 e 8.5, a testare la nuova versione su una copia del sito e poi a passare il sito in produzione, con la possibilità di tornare indietro in un clic.

Perché aggiornare PHP adesso

PHP segue un ciclo di vita fisso: ogni ramo riceve due anni di correzioni di bug (supporto attivo), poi due anni di sole patch di sicurezza. Trascorso questo periodo, le nuove vulnerabilità non vengono più corrette. Un sito WordPress o PrestaShop fermo su una versione a fine vita resta esposto a falle note e pubbliche.

C'è anche un motivo pratico: plugin e temi recenti abbandonano gradualmente le vecchie versioni di PHP, e ogni nuovo ramo porta miglioramenti di prestazioni. Restare indietro finisce per bloccare gli aggiornamenti del CMS stesso.

Il calendario ufficiale di PHP

Queste date provengono dal progetto PHP su php.net (pagine «Supported Versions» e «Unsupported Branches»), verificate a ottobre 2026:

VersioneRilascioFine supporto attivoFine patch di sicurezzaStato a ottobre 2026
PHP 8.1novembre 202125 novembre 202331 dicembre 2025Fine vita (ultima versione: 8.1.34)
PHP 8.28 dicembre 202231 dicembre 202431 dicembre 2026Solo sicurezza, ancora poche settimane
PHP 8.323 novembre 202331 dicembre 202531 dicembre 2027Solo sicurezza
PHP 8.421 novembre 202431 dicembre 202631 dicembre 2028Supporto attivo
PHP 8.520 novembre 202531 dicembre 202731 dicembre 2029Supporto attivo

In pratica, PHP 8.4 è oggi il miglior compromesso: è coperto fino a fine 2028 ed è ampiamente supportato da CMS e plugin. PHP 8.5 vi dà un anno in più, a patto che tutto il vostro ecosistema lo supporti. PHP 8.3 resta un passaggio intermedio accettabile se un plugin vi blocca, ma il suo supporto finisce già a fine 2027.

Quale versione scegliere in base al CMS

WordPress

Secondo il manuale ufficiale di WordPress («PHP Compatibility and WordPress Versions»), WordPress 6.9 e le versioni successive supportano PHP 8.5, mentre PHP 8.4 è supportato da WordPress 6.7. L'etichetta «supporto beta» che WordPress applicava a queste versioni è stata ritirata a maggio 2026. Da WordPress 7.0 la versione minima di PHP richiesta è la 7.4.

Il core di WordPress, però, è solo metà della storia: durante un cambio di PHP a creare problemi sono soprattutto plugin e tema. Controllate per ogni plugin il campo «Richiede PHP» e la data dell'ultimo aggiornamento. Un plugin non aggiornato da due anni è un rischio.

PrestaShop

La documentazione ufficiale di PrestaShop pubblica una tabella di compatibilità precisa:

PrestaShopPHP 8.1PHP 8.2PHP 8.3PHP 8.4PHP 8.5
da 8.0 a 8.2ConsigliatoNon supportatoNon supportatoNon supportatoNon supportato
9.0SìSìSìConsigliatoNon supportato
9.1SìSìSìSìConsigliato

Il punto chiave: un negozio PrestaShop 8 è bloccato su PHP 8.1, una versione che non riceve più correzioni. Per uscirne bisogna prima migrare il negozio a PrestaShop 9 e solo dopo cambiare versione PHP. Fare il contrario (PHP 8.3 su PrestaShop 8) porta quasi sempre a errori. PrestaShop 9 richiede inoltre diverse estensioni PHP (intl, gd, zip, curl, mbstring, fileinfo e altre) e raccomanda un memory_limit di almeno 512M.

Cosa può rompersi passando a PHP 8.4 o 8.5

Tra le versioni minori di PHP 8 i cambiamenti sono soprattutto deprecazioni: il codice funziona ancora, ma scrive avvisi nei log. I veri guasti arrivano di solito da vecchi moduli o da estensioni PHP mancanti. Ecco le deprecazioni che colpiscono più spesso i plugin WordPress e i moduli PrestaShop:

  • PHP 8.4: parametri implicitamente nullable (function f(Type $a = null) deve diventare ?Type $a = null), l'uso di E_USER_ERROR con trigger_error(), la costante E_STRICT e le chiamate a fgetcsv() o fputcsv() senza il parametro escape.
  • PHP 8.5: i cast non canonici come (integer) o (boolean), l'operatore backtick che esegue comandi di sistema, null usato come chiave di array, la variabile $http_response_header e alcune costanti PDO specifiche di MySQL a favore degli equivalenti in Pdo\Mysql.

La causa più frequente di una pagina bianca o di un errore 500 subito dopo il cambio resta però un'estensione PHP mancante nella nuova versione: ogni versione di PHP installata sul server ha le proprie estensioni. Se intl o imagick sono attive per PHP 8.2 ma non per PHP 8.4, il vostro CMS fallirà in 8.4.

Passo 1: fare l'inventario prima di toccare qualsiasi cosa

  1. Annotate la versione PHP attuale di ogni dominio. È indicata nello strumento MultiPHP Manager di cPanel (sezione Software).
  2. Aggiornate CMS, tema e tutti i plugin o moduli prima di cambiare versione PHP. Gli aggiornamenti spesso risolvono le incompatibilità.
  3. Fate un backup completo di file e database. Lo strumento Backup (o la procedura guidata di backup) di cPanel permette di scaricare un archivio della directory home e un'esportazione di ogni database MySQL.
  4. Individuate i plugin abbandonati e cercate alternative mantenute.

Passo 2: testare la nuova versione su una copia del sito

È il passaggio che la maggior parte dei tutorial dimentica. MultiPHP Manager imposta la versione PHP per dominio e per sottodominio: potete quindi far girare una copia del sito in PHP 8.4 mentre il sito principale resta sulla versione attuale.

  1. Create un sottodominio di test, ad esempio test.vostrosito.it, dall'interfaccia Domini di cPanel, con una propria cartella radice.
  2. Copiate il sito: per WordPress, la funzione di staging di Softaculous lo fa in pochi clic se il vostro hosting la offre. Altrimenti copiate i file con il File Manager (comprimere, spostare, estrarre) e duplicate il database con phpMyAdmin (esportazione, poi importazione in un nuovo database).
  3. Adattate la configurazione della copia: nome del database in wp-config.php (WordPress) o app/config/parameters.php (PrestaShop), poi l'indirizzo del sito (opzioni siteurl e home per WordPress, URL del negozio nella tabella ps_shop_url per PrestaShop).
  4. Proteggete la copia con lo strumento Directory Privacy di cPanel (password), così che non sia né indicizzata né pubblica.
  5. Passate solo il sottodominio di test alla nuova versione PHP in MultiPHP Manager.

Attivate poi il log degli errori sulla copia. Per WordPress, in wp-config.php:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );     // scrive in wp-content/debug.log
define( 'WP_DEBUG_DISPLAY', false ); // non mostra nulla ai visitatori

Per PrestaShop, attivate la modalità debug in Parametri avanzati > Prestazioni. Percorrete poi le pagine chiave: home, scheda prodotto, carrello, pagamento in modalità test, modulo di contatto, accesso all'amministrazione, invio di un'e-mail. Controllate debug.log, i file error_log nelle cartelle del sito e lo strumento Errori di cPanel. Una riga «Deprecated» non è bloccante; una riga «Fatal error» sì.

Passo 3: cambiare la versione PHP in cPanel

Una volta validata la copia, il passaggio del sito in produzione richiede meno di un minuto:

  1. Accedete a cPanel e aprite MultiPHP Manager nella sezione Software.
  2. Spuntate la casella del dominio da modificare (potete selezionarne più di uno).
  3. Scegliete la versione nel menu PHP Version in alto a destra. Le versioni appaiono nella forma PHP 8.4 (ea-php84); quelle contrassegnate «Recommended» sono consigliate dall'amministratore del server.
  4. Cliccate su Apply. La colonna della versione del dominio si aggiorna subito.

Dietro le quinte, cPanel aggiunge un blocco al file .htaccess nella radice del dominio. Non modificatelo a mano, cPanel lo riscrive:

# php -- BEGIN cPanel-generated handler, do not edit
# Set the "ea-php84" package as the default "PHP" programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php84 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

Se un dominio mostra la dicitura «Inherited», usa la versione predefinita del server, scelta dal vostro hosting, che può cambiare senza alcun intervento da parte vostra. È più sicuro impostare esplicitamente la versione di ogni sito.

Per verificare la versione effettivamente in uso, caricate temporaneamente nella radice del sito un file con un nome difficile da indovinare, apritelo nel browser e poi cancellatelo:

<?php echo PHP_VERSION;

Se la versione desiderata non compare

Una versione assente dal menu non è installata sul server oppure non è disponibile per il vostro account. Si installa lato server tramite EasyApache 4, quindi non potete aggiungerla da soli in cPanel: contattate il supporto del vostro hosting. Alcuni provider offrono anche uno strumento «Select PHP Version», che permette di cambiare versione e di attivare o disattivare autonomamente le estensioni PHP.

Passo 4: controllare le impostazioni PHP dopo il cambio

Ogni versione di PHP ha la propria configurazione predefinita. Dopo il cambio aprite MultiPHP INI Editor (accanto a MultiPHP Manager), selezionate il dominio e controllate almeno:

  • memory_limit: 256M per WordPress con un page builder, almeno 512M per PrestaShop 9;
  • upload_max_filesize e post_max_size: in base alla dimensione dei vostri media;
  • max_execution_time: da aumentare se le importazioni di prodotti o i backup si interrompono;
  • display_errors: disattivato in produzione.

Infine svuotate tutte le cache: plugin di cache di WordPress, cache Smarty e Symfony di PrestaShop (Parametri avanzati > Prestazioni > Svuota la cache) e la cache della CDN, se ne usate una.

Tornare indietro in caso di problemi

Il cambio di versione PHP non tocca né i file né il database. Se compare un problema, tornate in MultiPHP Manager, selezionate il dominio, scegliete la versione precedente e cliccate su Apply: il sito torna allo stato precedente in pochi secondi. Tenete però a mente una scadenza: tornare a PHP 8.2 vi lascia tempo solo fino al 31 dicembre 2026 per risolvere il problema.

Domande frequenti

Cambiare versione PHP può cancellare il mio sito?

No. MultiPHP Manager cambia solo l'interprete che esegue i vostri file. Contenuti, file e database restano intatti e il ritorno alla versione precedente è immediato.

Posso usare una versione diversa per ogni sito?

Sì. MultiPHP Manager lavora dominio per dominio: un blog WordPress può girare in PHP 8.5 e un negozio PrestaShop 9.0 in PHP 8.4 sullo stesso account cPanel. I domini parcheggiati (alias) seguono il loro dominio principale.

Dopo il cambio il sito mostra un errore 500: cosa faccio?

Per prima cosa tornate alla versione precedente per ripristinare il sito. Poi controllate lo strumento Errori di cPanel o il file error_log: la causa è quasi sempre un'estensione PHP mancante nella nuova versione o un modulo incompatibile. Correggete sulla copia di test prima di riprovare.

PHP 8.5 o PHP 8.4?

Se il sito usa WordPress aggiornato o PrestaShop 9.1 e tutti i plugin lo supportano, PHP 8.5 vi lascia il margine più ampio (patch di sicurezza fino a fine 2029). Per PrestaShop 9.0, o se un plugin importante non dichiara ancora la compatibilità, scegliete PHP 8.4.