RIP HHVM. È arrivato il momento di dire addio a HHVM per i vostri siti WordPress. Non offriamo più supporto per HHVM su Kinsta. Non è mai stato supportato ufficialmente e il team di WordPress ha smesso di testarlo più di un anno fa. HHVM v3.30 sarà anche l’ultima serie di release a supportare PHP.

Per via dei crescenti problemi di compatibilità, degrado delle prestazioni e nessun supporto di PHP, non è più una soluzione valida per i siti WordPress in produzione. Per questo abbiamo eliminato gradualmente HHVM a partire dal 20 agosto 2018 per tutti i clienti.

Se attualmente state utilizzando HHVM sui vostri siti, continuate a leggere qui sotto per conoscere le conseguenze di questa novità e cosa dovete fare. Parleremo anche del perché non è una novità negativa.

Background di HHVM

Prima di indagare sul perché HHVM se ne va, diamo prima una rapida occhiata al perché Kinsta ha iniziato a supportarlo.

Tutto è iniziato con un piccolo (o quello che era un piccolo) sito chiamato Facebook. 😉 Originariamente era scritto in PHP e, quando il sito ha iniziato a decollare, la potenza di calcolo necessaria per servire tutte le richieste era fuori scala. Questo era dovuto principalmente alle inefficienze dei motori PHP disponibili all’epoca. Così gli ingegneri e gli sviluppatori di Facebook hanno avuto un’idea brillante. Invece di comprare semplicemente più server, perché non risolvere il problema a livello di software?

Così hanno creato un compilatore da PHP a C++ chiamato HPHPc. Il codice PHP originale veniva compilato in binari eseguibili (a volte le dimensioni dei file raggiungevano anche un gigabyte!) e veniva eseguito invece di essere compilato in opcodes e interpretato.

Questo ha migliorato di circa sei volte le prestazioni, il che è enorme! Sei volte più veloce potrebbe non sembrare molto, ma proviamo a mettere questo dato in prospettiva. Invece di dover comprare 600 server per alimentare un servizio web ne servono solo 100. Questo è un risparmio incredibile dovuto semplicemente al fatto che avete cambiato il modo in cui eseguite il codice.

Tuttavia, come potete immaginare, eseguire e mantenere versioni separate per sviluppatori e debugger di HipHop (chiamate rispettivamente HPHPi e HPHPd), oltre a distribuire gigabyte di eseguibili su ogni macchina dopo solo un paio di modifiche al codice (pensate alle correzioni di bug), è diventato rapidamente problematico e impegnativo.

Così nel 2013 Facebook ha deciso di deprecare HPHPc, ma di riciclare il codice e le esperienze acquisite, avendolo in produzione per almeno tre anni, e di lanciare la HipHop Virtual Machine (HHVM). Questo motore converte PHP in bytecode che viene poi convertito in fase di esecuzione da un compiler just-in-time (JIT). Questo, a sua volta, ha portato ad un aumento delle prestazioni ancora maggiore! 🚀

HHVM
HHVM

Molti siti esigenti e ad alto traffico di Kinsta hanno utilizzato HHVM nel corso degli anni e hanno registrato un’incredibile diminuzione dei tempi di caricamento. HHVM permette anche l‘object caching, che è un sistema di caching interno introdotto da WordPress per memorizzare i dati dal database nella memoria PHP. Questo migliora l’efficienza del database riducendo il numero di chiamate al database e riduce i tempi di esecuzione di PHP. Questo significa che HHVM è sempre stato ottimo per i siti più dinamici con molti contenuti non memorizzabili.

Ma, detto questo, purtroppo HHVM ha fatto il suo corso per quel che riguarda WordPress e PHP. Scopriremo perché qui di seguito.

HHVM non è Più una Soluzione Valida per WordPress

Ecco solo alcune delle molte ragioni per cui HHVM non è più una tecnologia adatta a WordPress e ai clienti Kinsta.

Prima di tutto, HHVM ha terminato il supporto di PHP a partire dalla versione v3.30.

In secondo luogo, è importante sottolineare che HHVM in realtà non è mai stato supportato ufficialmente da WordPress. È stato reso compatibile grazie ad alcuni membri del core team di WordPress che erano ossessionati dalla velocità(#27881). Alcuni provider di hosting WordPress, come Kinsta, lo hanno poi messo a disposizione dei clienti(noi lo abbiamo lanciato nel 2016) per consentirgli di approfittare dei guadagni in termini di prestazioni.

WordPress ha effettivamente smesso di includere HHVM nella sua infrastruttura di test del core a partire da maggio 2017 (diversi anni fa). Ecco cosa ha detto John Blackbourn, un Core Developer di WordPress:

Se hai in esecuzione un sito WordPress su HHVM, dovresti valutare di passare a PHP 7+, che è molto più supportato e testato e offre tutti i vantaggi di memoria e prestazioni che HHVM ha portato avanti.

Dato che HHVM non è più testato dai membri del core team di WordPress, hanno iniziato ad emergere bug e problemi di compatibilità. Molti di questi sono stati riscontrati in prima persona(#8194). Quello che è iniziato come un fiumiciattolo di guasti, quasi un anno fa è diventato un flusso costante con l’ultima versione di HHVM, e ora stanno influenzando la funzionalità di popolari temi e plugin di WordPress di terze parti. Pertanto, HHVM non è più una soluzione stabile o adatta ai siti WordPress.

Oltre al supporto per l’hosting HHVM, i nostri benchmark PHP vs HHVM hanno dimostrato che PHP 7.2 è effettivamente più veloce di HHVM. Per la prima volta in assoluto, PHP ha vinto in tutti i test, che includevano un sito WordPress standalone, WooCommerce e Easy Digital Downloads. 🏆

Benchmark di WordPress (PHP vs HHVM)
Benchmark di WordPress (PHP vs HHVM)

E PHP 7.3 e 7.4 sono ancora più veloci. Date un’occhiata ai risultati dei nostri benchmark PHP.

WordPress 5.0 benchmark PHP
WordPress 5.0 benchmark PHP

Pertanto, per avere le migliori prestazioni, raccomandiamo di utilizzare PHP 7.4. Al momento offriamo, nel cruscotto MyKinsta, PHP 7.2, 7.3 e 7.4. Potete facilmente passare da un motore PHP all’altro con un solo clic.

Passare a PHP 7.4
Passare a PHP 7.4

Fine Vita di HHVM (EOL)

Qui sotto ci sono tutti i dettagli e le scadenze relative al nostro abbandono graduale di HHVM.

  • A partire dal 15 giugno 2018, il passaggio a HHVM non è più disponibile nella dashboard di MyKinsta. Importante: se vi siete spostati da HHVM dopo questa data, non è più possibile tornare indietro.
  • Il 20 agosto 2018, HHVM è stato eliminato completamente. Questo significa che tutti i siti HHVM sono passati a PHP 5.6+ e HHVM è stato completamente rimosso dalla dashboard di MyKinsta.

Passaggio da HHVM a PHP

Kinsta aggiorna regolarmente il software server per tenere le cose allo stato dell’arte, non solo per la ragione più basilare, che è quella della sicurezza, ma anche per le prestazioni.

Come ogni software, PHP ha un ciclo di vita di rilascio a cui deve aderire per continuare ad evolvere e migliorare. Ogni versione core di PHP è in genere pienamente supportata per due anni dopo il suo rilascio. Durante questo periodo, vengono risolti e corretti regolarmente i bug e i problemi di sicurezza.

Versioni PHP supportate da WordPress
Versioni PHP supportate da WordPress

Come si può vedere qui sopra, PHP 5.6 e 7.0 sono già spariti e la 7.2 sarà gradualmente eliminata in modo simile verso la fine del 2020. Ecco perché raccomandiamo vivamente di passare ad una versione superiore di PHP il più presto possibile, preferibilmente PHP 7.3 o 7.4.

Per aiutarvi nella transizione, abbiamo messo insieme un tutorial su come testare e spostare correttamente il vostro sito da HHVM a PHP. Ricordate, alcuni temi o plugin potrebbero avere problemi di compatibilità con le nuove versioni di PHP, quindi dovreste seguire i passaggi che abbiamo delineato per assicurare una transizione senza problemi e senza tempi morti. Questo è un altro motivo per cui abbiamo avvisato tutti! Per testare prima della scadenza.

Riepilogo

WordPress ha funzionato bene con HHVM e a molti di voi ha permesso di raggiungere velocità incredibili! Ma non preoccupatevi adesso, perché dovreste vedere velocità ancora maggiori con PHP 7.4. A lungo termine, saremo tutti entusiasti di questo cambiamento. Per prima cosa, significa niente più confusione tra i motori PHP da utilizzare per il vostro sito. Significa anche che verrà dedicato più tempo a migliorare il core del linguaggio PHP per le prestazioni di WordPress.

Se avete considerazioni o preoccupazioni riguardo all’eliminazione di HHVM, non esitate a contattare il nostro team di supporto 24/7. Ci piacerebbe anche leggere il vostro feedback riguardo al passaggio a PHP qui sotto.

Brian Jackson

Brian ha una grande passione per WordPress, lo usa da più di dieci anni e sviluppa anche un paio di plugin premium. Brian ama i blog, i film e le escursioni. Entra in contatto con Brian su Twitter.