{"id":1696,"date":"2026-03-26T12:40:03","date_gmt":"2026-03-26T11:40:03","guid":{"rendered":"https:\/\/darioiannascoli.it\/blog\/tuxcare-extended-lifecycle-support-php-plesk-obsidian-patch-sicurezza-migrazione-php84\/"},"modified":"2026-03-26T12:40:03","modified_gmt":"2026-03-26T11:40:03","slug":"tuxcare-extended-lifecycle-support-php-plesk-obsidian-patch-sicurezza-migrazione-php84","status":"publish","type":"post","link":"https:\/\/darioiannascoli.it\/blog\/tuxcare-extended-lifecycle-support-php-plesk-obsidian-patch-sicurezza-migrazione-php84\/","title":{"rendered":"Come Uso TuxCare Extended Lifecycle Support per PHP in Plesk Obsidian: Patch di Sicurezza per PHP 7.4, 8.0 e 8.1 e Migrazione Graduale verso PHP 8.4 nel 2026"},"content":{"rendered":"<p>Se gestisci server Plesk con pi\u00f9 siti WordPress \u2014 come faccio io quotidianamente \u2014 sai bene che non tutti i clienti aggiornano PHP con la stessa velocit\u00e0. <strong>Ancora nel marzo 2026, circa il 22% dei siti WordPress gira su PHP 7.4<\/strong>, una versione dichiarata End-of-Life da oltre tre anni. A questi si aggiungono i siti su PHP 8.0 (EOL da novembre 2023) e PHP 8.1 (EOL da dicembre 2025): in totale, quasi la met\u00e0 dei siti WordPress nel mondo usa una versione PHP senza pi\u00f9 patch di sicurezza ufficiali.<\/p>\n<p>Sul mio server Debian con Plesk Obsidian ho affrontato esattamente questo scenario: alcuni siti legacy con plugin incompatibili con PHP 8.2+ che non potevo aggiornare dall&#8217;oggi al domani, ma che dovevo comunque proteggere dalle vulnerabilit\u00e0. La soluzione? <strong>TuxCare Extended Lifecycle Support (ELS) per PHP<\/strong>, un&#8217;estensione Plesk ufficiale che fornisce patch di sicurezza continue per le versioni PHP obsolete, dandoti il tempo di pianificare una migrazione ordinata.<\/p>\n<p>In questo articolo vi mostro come ho configurato TuxCare ELS sul mio server Plesk, come funziona il sistema di patching, e la strategia che sto usando per migrare gradualmente tutti i siti verso <strong>PHP 8.4<\/strong> \u2014 la versione attualmente in supporto attivo con novit\u00e0 importanti come i <em>Property Hooks<\/em> e la <em>Asymmetric Visibility<\/em>.<\/p>\n<h2>Perch\u00e9 le Versioni PHP Legacy Sono un Rischio Concreto nel 2026<\/h2>\n<p>PHP segue un ciclo di vita ben definito: <strong>2 anni di supporto attivo<\/strong> (bug fix + security fix) seguiti da <strong>2 anni di sole patch di sicurezza<\/strong>. Dopo questa finestra, la versione \u00e8 abbandonata. Ecco la situazione aggiornata a marzo 2026:<\/p>\n<ul>\n<li><strong>PHP 7.4<\/strong> \u2014 EOL dal 28 novembre 2022. Nessuna patch ufficiale da oltre 3 anni<\/li>\n<li><strong>PHP 8.0<\/strong> \u2014 EOL dal 26 novembre 2023. Oltre 2 anni senza aggiornamenti<\/li>\n<li><strong>PHP 8.1<\/strong> \u2014 EOL dal 31 dicembre 2025. Appena uscito dal supporto<\/li>\n<li><strong>PHP 8.2<\/strong> \u2014 Solo security fix fino a dicembre 2026<\/li>\n<li><strong>PHP 8.3<\/strong> \u2014 Solo security fix fino a dicembre 2027<\/li>\n<li><strong>PHP 8.4<\/strong> \u2014 Supporto attivo fino a dicembre 2026, security fino a dicembre 2028<\/li>\n<\/ul>\n<p>Il problema non \u00e8 solo teorico. Ogni CVE che viene scoperta nelle versioni EOL <strong>non riceve fix ufficiali<\/strong>, lasciando il tuo server esposto. Come ho scritto nell&#8217;articolo su <a href=\"https:\/\/darioiannascoli.it\/blog\/cve-2025-66431-plesk-vulnerabilita-critica-esecuzione-codice-root-creazione-domini\/\">come proteggere Plesk dalla CVE-2025-66431<\/a>, una singola vulnerabilit\u00e0 non patchata pu\u00f2 compromettere l&#8217;intero server.<\/p>\n<h2>Cos&#8217;\u00e8 TuxCare Extended Lifecycle Support per PHP<\/h2>\n<p><strong>TuxCare<\/strong>, divisione di CloudLinux, offre un servizio chiamato <em>Endless Lifecycle Support<\/em> (originariamente &#8220;Extended&#8221;, rinominato per riflettere la durata illimitata) che fornisce <strong>backport di patch di sicurezza<\/strong> per versioni PHP non pi\u00f9 supportate ufficialmente.<\/p>\n<p>Cosa include concretamente:<\/p>\n<ul>\n<li><strong>Patch CVE critiche<\/strong> backportate dalle versioni PHP supportate<\/li>\n<li>Copertura per PHP 5.6, 7.0, 7.1, 7.2, 7.3, <strong>7.4, 8.0 e 8.1<\/strong><\/li>\n<li>Distribuzione tramite pacchetti <code>alt-php*<\/code> aggiornabili via Plesk System Updates<\/li>\n<li>Nessuna modifica al codice dell&#8217;applicazione \u2014 le patch sono trasparenti<\/li>\n<li>Supporto per Debian 10-13, RHEL\/AlmaLinux 8-10, Ubuntu 18.04-24.04<\/li>\n<\/ul>\n<p>Il punto chiave \u00e8 che <strong>non si tratta di nuove feature o bug fix<\/strong>, ma esclusivamente di patch di sicurezza. La tua applicazione continua a funzionare identicamente, ma le vulnerabilit\u00e0 note vengono corrette. Come ho analizzato nel <a href=\"https:\/\/darioiannascoli.it\/blog\/cloudlinux-industry-report-2026-performance-sicurezza-automazione-hosting\/\">CloudLinux Industry Report 2026<\/a>, il 43% degli hoster considera la sicurezza una priorit\u00e0 \u2014 TuxCare ELS \u00e8 uno strumento pratico per affrontarla.<\/p>\n<h2>Come Installo TuxCare ELS per PHP su Plesk Obsidian<\/h2>\n<p>L&#8217;installazione \u00e8 sorprendentemente semplice grazie all&#8217;integrazione nativa con Plesk. Ecco i passaggi che ho seguito:<\/p>\n<h3>Prerequisiti<\/h3>\n<ul>\n<li>Plesk Obsidian versione 18.0.72 o superiore<\/li>\n<li>Accesso amministratore al pannello Plesk<\/li>\n<li>Licenza TuxCare ELS (acquistabile direttamente dall&#8217;estensione Plesk a <strong>\u20ac10\/mese<\/strong> per server)<\/li>\n<\/ul>\n<h3>Installazione via Interfaccia Web<\/h3>\n<ol>\n<li>Accedi a Plesk e vai su <strong>Extensions &gt; Extensions Catalog<\/strong><\/li>\n<li>Cerca <em>&#8220;TuxCare Extended Lifecycle Support for PHP&#8221;<\/em><\/li>\n<li>Clicca <strong>Install<\/strong> \u2014 l&#8217;estensione si installa in pochi secondi<\/li>\n<li>Apri l&#8217;estensione e inserisci la tua <strong>license key<\/strong> TuxCare<\/li>\n<li>La dashboard mostrer\u00e0 tutte le versioni PHP EOL rilevate e i siti che le utilizzano<\/li>\n<li>Per ogni versione che vuoi proteggere, clicca <strong>[Install]<\/strong> \u2014 il sistema scarica e configura i pacchetti <code>alt-php<\/code> patchati<\/li>\n<li>Clicca <strong>[Switch]<\/strong> per migrare in blocco tutti i siti su quella versione alla variante protetta, oppure migra i singoli siti dalle impostazioni PHP del dominio<\/li>\n<\/ol>\n<h3>Installazione via CLI<\/h3>\n<p>Per chi preferisce la riga di comando, Plesk offre un&#8217;interfaccia CLI dedicata:<\/p>\n<pre><code># Visualizza le versioni PHP EOL presenti sul server\nplesk ext tuxcare-php --list\n\n# Installa e configura ELS per PHP 7.4\nplesk ext tuxcare-php --install-configure -version 7.4\n\n# Migra tutti i siti PHP 7.4 alla versione protetta\nplesk ext tuxcare-php --switch -version 7.4\n\n# Stessa procedura per PHP 8.0 e 8.1\nplesk ext tuxcare-php --install-configure -version 8.0\nplesk ext tuxcare-php --switch -version 8.0\nplesk ext tuxcare-php --install-configure -version 8.1\nplesk ext tuxcare-php --switch -version 8.1<\/code><\/pre>\n<h3>Come Funziona Dopo l&#8217;Installazione<\/h3>\n<p>Una volta configurato, le versioni PHP protette appaiono come opzioni separate nel dropdown dei <em>PHP handler<\/em> di Plesk \u2014 ad esempio <strong>&#8220;PHP 7.4 (secured)&#8221;<\/strong> accanto a &#8220;PHP 7.4&#8221;. La configurazione PHP esistente (estensioni, <code>php.ini<\/code>, handler FPM\/CGI) viene preservata integralmente.<\/p>\n<p>Gli aggiornamenti di sicurezza arrivano automaticamente tramite <strong>Plesk System Updates<\/strong>. Vi consiglio di abilitare gli aggiornamenti automatici per i pacchetti TuxCare, cos\u00ec ogni nuova CVE viene patchata senza intervento manuale.<\/p>\n<p>Se qualcosa va storto, potete fare rollback con il pulsante <strong>[Rollback]<\/strong> nella dashboard dell&#8217;estensione o via CLI. La licenza in scadenza non disabilita le versioni gi\u00e0 installate, ma blocca le future patch.<\/p>\n<h2>Strategia di Migrazione Graduale verso PHP 8.4<\/h2>\n<p>TuxCare ELS non \u00e8 una scusa per restare su PHP 7.4 per sempre \u2014 \u00e8 una <strong>rete di sicurezza<\/strong> che vi d\u00e0 il tempo di migrare ordinatamente. Ecco la strategia in 4 fasi che sto applicando sui siti che gestisco.<\/p>\n<h3>Fase 1: Inventario e Classificazione (Settimana 1)<\/h3>\n<p>Per prima cosa, ho catalogato tutti i siti sul server per versione PHP:<\/p>\n<pre><code># Lista siti con la versione PHP in uso\nplesk bin site --list --with-hosting | while read domain; do\n  php_ver=$(plesk bin site --info \"$domain\" | grep \"PHP version\" | awk '{print $NF}')\n  echo \"$domain: PHP $php_ver\"\ndone<\/code><\/pre>\n<p>Ho classificato ogni sito in tre categorie:<\/p>\n<ul>\n<li><strong>Migrazione immediata<\/strong> \u2014 siti con plugin\/temi tutti compatibili con PHP 8.4<\/li>\n<li><strong>Migrazione con test<\/strong> \u2014 siti che richiedono verifica di compatibilit\u00e0<\/li>\n<li><strong>Migrazione posticipata<\/strong> \u2014 siti con dipendenze legacy che necessitano interventi sul codice<\/li>\n<\/ul>\n<h3>Fase 2: Attivazione TuxCare sui Siti Legacy (Settimana 1-2)<\/h3>\n<p>Tutti i siti nelle categorie &#8220;con test&#8221; e &#8220;posticipata&#8221; vengono spostati sulla versione PHP protetta da TuxCare. Questo garantisce protezione immediata mentre lavoro alla migrazione.<\/p>\n<h3>Fase 3: Test di Compatibilit\u00e0 PHP 8.4 (Settimane 2-6)<\/h3>\n<p>Per ogni sito, creo un ambiente di staging e testo con PHP 8.4. I punti critici da verificare:<\/p>\n<ul>\n<li><strong>Deprecation warnings<\/strong> \u2014 PHP 8.4 depreca i tipi parametro implicitamente nullable e il passaggio di <code>E_USER_ERROR<\/code> a <code>trigger_error()<\/code><\/li>\n<li><strong>Estensioni rimosse<\/strong> \u2014 IMAP, OCI8, pspell sono state spostate su PECL<\/li>\n<li><strong>Cambio comportamento JIT<\/strong> \u2014 se usavate <code>opcache.jit_buffer_size<\/code> senza <code>opcache.jit<\/code> esplicito, dovete aggiungere <code>opcache.jit=tracing<\/code><\/li>\n<li><strong>Compatibilit\u00e0 plugin WordPress<\/strong> \u2014 verificate che tutti i plugin attivi supportino PHP 8.4<\/li>\n<\/ul>\n<p>Come ho spiegato nell&#8217;articolo su <a href=\"https:\/\/darioiannascoli.it\/blog\/wordpress-7-breaking-changes-api-ai-integration-migration-plugin-developers\/\">come affrontare i breaking changes di WordPress 7.0<\/a>, testare in staging prima di applicare in produzione \u00e8 sempre la procedura corretta.<\/p>\n<h3>Fase 4: Migrazione Progressiva (Settimane 4-8)<\/h3>\n<p>Migro un sito alla volta, partendo dai meno critici:<\/p>\n<pre><code># Cambia la versione PHP di un singolo dominio\nplesk bin site --update example.com -php_handler_id plesk-php84-fpm\n\n# Verifica che il sito funzioni\ncurl -sI https:\/\/example.com | head -5<\/code><\/pre>\n<p>Dopo la migrazione, monitoro i log PHP per 48 ore cercando errori o deprecation warnings. Solo quando il sito \u00e8 stabile passo al successivo.<\/p>\n<h2>Le Novit\u00e0 di PHP 8.4 che Giustificano la Migrazione<\/h2>\n<p>PHP 8.4, rilasciato a novembre 2024, introduce feature che migliorano significativamente la qualit\u00e0 del codice. Ecco le pi\u00f9 rilevanti:<\/p>\n<h3>Property Hooks<\/h3>\n<p>Permettono di definire getter e setter direttamente nella dichiarazione della propriet\u00e0, eliminando la necessit\u00e0 di metodi boilerplate:<\/p>\n<pre><code>class User {\n    public string $name {\n        set (string $value) {\n            $this-&gt;name = ucfirst($value);\n        }\n    }\n    public string $fullName {\n        get =&gt; $this-&gt;firstName . ' ' . $this-&gt;lastName;\n    }\n}<\/code><\/pre>\n<h3>Asymmetric Visibility<\/h3>\n<p>Permette di separare i permessi di lettura e scrittura sulle propriet\u00e0:<\/p>\n<pre><code>class Config {\n    public private(set) string $version = '8.4';\n    \/\/ Leggibile da tutti, scrivibile solo dall'interno della classe\n}<\/code><\/pre>\n<h3>Nuove Funzioni Array<\/h3>\n<p>Finalmente funzioni native per operazioni comuni: <code>array_find()<\/code>, <code>array_find_key()<\/code>, <code>array_any()<\/code> e <code>array_all()<\/code>. Addio a cicli <code>foreach<\/code> per cercare un elemento che soddisfa una condizione.<\/p>\n<h3>Nuovo Motore JIT Basato su IR Framework<\/h3>\n<p>Il JIT \u00e8 stato riscritto internamente con un framework basato su <em>Intermediate Representation<\/em>. In alcuni scenari risulta pi\u00f9 veloce e usa meno memoria rispetto alla versione precedente \u2014 un vantaggio concreto per applicazioni ad alto traffico.<\/p>\n<h2>Quanto Costa e Quando Conviene TuxCare ELS<\/h2>\n<p>Il costo \u00e8 di <strong>\u20ac10\/mese per server<\/strong> tramite il marketplace Plesk. Include tutte le versioni PHP EOL presenti sul server \u2014 non si paga per versione singola.<\/p>\n<p>Conviene quando:<\/p>\n<ul>\n<li>Gestisci <strong>siti di clienti<\/strong> che non possono aggiornare PHP immediatamente<\/li>\n<li>Hai applicazioni legacy con <strong>dipendenze non compatibili<\/strong> con PHP 8.2+<\/li>\n<li>Vuoi essere conforme ai requisiti di sicurezza senza forzare migrazioni affrettate<\/li>\n<li>Gestisci server con <strong>molti siti<\/strong> su versioni PHP miste<\/li>\n<\/ul>\n<p>Non conviene se hai un singolo sito e puoi semplicemente aggiornare PHP \u2014 in quel caso, la migrazione diretta \u00e8 la scelta migliore.<\/p>\n<p>Per chi gestisce infrastrutture complesse, ho approfondito le best practice di sicurezza server nell&#8217;articolo su <a href=\"https:\/\/darioiannascoli.it\/blog\/configurare-server-plesk-obsidian-hosting-wordpress-prestazioni-sicurezza-2026\/\">come configurare un server Plesk Obsidian per hosting WordPress ad alte prestazioni<\/a>.<\/p>\n<h2>Best Practice per la Gestione PHP su Plesk nel 2026<\/h2>\n<p>Nella mia esperienza, ecco le regole che seguo per mantenere PHP sotto controllo:<\/p>\n<ol>\n<li><strong>Monitora le versioni PHP attive<\/strong> \u2014 controlla mensilmente quali siti usano versioni EOL<\/li>\n<li><strong>Attiva TuxCare ELS come rete di sicurezza<\/strong> \u2014 \u20ac10\/mese \u00e8 un investimento trascurabile rispetto al rischio<\/li>\n<li><strong>Pianifica migrazioni trimestrali<\/strong> \u2014 non aspettare l&#8217;ultimo giorno di supporto<\/li>\n<li><strong>Testa sempre in staging<\/strong> \u2014 mai aggiornare PHP in produzione senza test preventivi<\/li>\n<li><strong>Documenta le dipendenze legacy<\/strong> \u2014 sapere quale plugin blocca la migrazione \u00e8 met\u00e0 del lavoro<\/li>\n<li><strong>Automatizza i backup<\/strong> \u2014 prima di ogni cambio PHP, un backup completo. Ho scritto una guida dedicata ai <a href=\"https:\/\/darioiannascoli.it\/blog\/backup-automatici-plesk-s3-compatible-incrementali-retention-restore-wordpress\/\">backup automatici su Plesk con destinazione S3-compatible<\/a><\/li>\n<\/ol>\n<h2>FAQ<\/h2>\n<h3>TuxCare ELS modifica il codice delle mie applicazioni PHP?<\/h3>\n<p>No. TuxCare ELS sostituisce i binari PHP con versioni che includono le patch di sicurezza backportate. Il codice della tua applicazione non viene toccato e non servono modifiche. Le estensioni PHP, le configurazioni <code>php.ini<\/code> e i handler FPM\/CGI rimangono invariati.<\/p>\n<h3>Posso usare TuxCare ELS su Debian con Plesk Obsidian?<\/h3>\n<p>S\u00ec. TuxCare supporta ufficialmente Debian 10, 11, 12 e 13 su architettura x86-64. L&#8217;estensione Plesk si installa dal catalogo estensioni e richiede Plesk versione 18.0.72 o superiore.<\/p>\n<h3>Quanto costa TuxCare ELS per PHP e cosa include?<\/h3>\n<p>Il costo \u00e8 di \u20ac10\/mese per server, acquistabile direttamente dal marketplace Plesk. La licenza copre tutte le versioni PHP EOL presenti sul server (da PHP 5.6 a PHP 8.1), senza limiti sul numero di siti o domini.<\/p>\n<h3>Cosa succede se la licenza TuxCare scade?<\/h3>\n<p>Le versioni PHP gi\u00e0 installate e patchate continuano a funzionare normalmente. Tuttavia, non riceverai pi\u00f9 nuove patch di sicurezza. I siti non si bloccano, ma restano esposti a future vulnerabilit\u00e0 fino al rinnovo della licenza.<\/p>\n<h3>\u00c8 meglio usare TuxCare ELS o migrare direttamente a PHP 8.4?<\/h3>\n<p>La risposta ideale \u00e8 entrambe le cose. TuxCare ELS ti protegge nell&#8217;immediato mentre pianifichi la migrazione a PHP 8.4. Se puoi aggiornare subito, fallo: PHP 8.4 offre prestazioni migliori, feature moderne e supporto attivo fino a dicembre 2028. Usa TuxCare ELS come rete di sicurezza per i siti che non possono essere migrati immediatamente.<\/p>\n<h2>Conclusione<\/h2>\n<p><strong>TuxCare Extended Lifecycle Support per PHP<\/strong> \u00e8 uno strumento che considero essenziale per chi gestisce server Plesk con siti su versioni PHP legacy. Non \u00e8 la soluzione definitiva \u2014 la migrazione a PHP 8.4 resta l&#8217;obiettivo \u2014 ma \u00e8 la rete di sicurezza che ti permette di arrivarci senza esporre i tuoi siti a vulnerabilit\u00e0 non patchate.<\/p>\n<p>Con quasi il 50% dei siti WordPress ancora su versioni PHP non supportate nel 2026, il problema \u00e8 diffuso e concreto. La combinazione di TuxCare ELS per la protezione immediata e una strategia di migrazione graduale verso PHP 8.4 \u00e8 l&#8217;approccio che consiglio a qualsiasi sysadmin che gestisce hosting WordPress su Plesk.<\/p>\n<p>Se vuoi approfondire la sicurezza del tuo server, ti consiglio anche l&#8217;articolo su <a href=\"https:\/\/darioiannascoli.it\/blog\/protezione-wordpress-vulnerabilita-plugin-virtual-patching-patchstack-waf-monitoraggio-cve\/\">come proteggere WordPress dalle vulnerabilit\u00e0 plugin con Patchstack e WAF applicativo<\/a>. Hai domande o esperienze con TuxCare ELS? Lascia un commento qui sotto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come configurare TuxCare ELS per PHP su Plesk Obsidian per proteggere PHP 7.4, 8.0 e 8.1 con patch di sicurezza e pianificare la migrazione a PHP 8.4.<\/p>\n","protected":false},"author":1,"featured_media":1697,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"TuxCare ELS per PHP su Plesk: Patch Sicurezza e Migrazione PHP 8.4","_seopress_titles_desc":"Guida pratica a TuxCare Extended Lifecycle Support per PHP su Plesk Obsidian: patch sicurezza per PHP 7.4, 8.0, 8.1 e migrazione graduale a PHP 8.4.","_seopress_robots_index":"","footnotes":""},"categories":[3],"tags":[380,544,545,204,118,543],"class_list":["post-1696","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hosting","tag-hosting-wordpress","tag-php","tag-php-8-4","tag-plesk-obsidian","tag-sicurezza-server","tag-tuxcare"],"_links":{"self":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/posts\/1696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/comments?post=1696"}],"version-history":[{"count":0,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/posts\/1696\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/media\/1697"}],"wp:attachment":[{"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/media?parent=1696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/categories?post=1696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/darioiannascoli.it\/blog\/wp-json\/wp\/v2\/tags?post=1696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}