PHP è oggi uno dei linguaggi di scripting più popolari sul web. Secondo W3Techs, PHP è utilizzato da oltre il 77% di tutti i siti web che utilizzano un linguaggio di programmazione lato server. Ciò significa che, probabilmente, quasi 8 siti che visitate su 10 utilizzano PHP in un modo o nell’altro, che significa, tra l’altro, che PHP non è morto. E, naturalmente, questo gioca un ruolo molto importante in quanto riguarda l’ecosistema di WordPress, poiché l’intero CMS è basato su PHP.
Avete bisogno di verificare rapidamente la versione di PHP? Create una pagina phpinfo.
Un dilemma cui ci troviamo di fronte oggi è che molte aziende, sviluppatori e host sono rimasti indietro nel supporto delle ultime versioni di PHP. Alcune delle statistiche sottostanti potrebbero anche lasciarvi sbigottiti. Oggi vogliamo ragionare con voi su alcuni dei motivi per cui è così importante che tutti usino le più recenti versioni di PHP, non solo per ragioni di sicurezza, ma anche per le prestazioni e il maggiore supporto.
- Perché Ci Sono Vecchie Versioni di PHP?
- Motivi per cui Dovreste Aggiornare le Versioni di PHP
- Assicuratevi che il Vostro Host Supporti le Ultime Versioni di PHP
- Controllate la Versione Corrente di PHP
- Cosa Dovrebbero Fare gli Utenti Meno Esperti o Quelli Senza Budget?
- Come Aggiornare PHP
Vecchie Versioni PHP
Come per qualsiasi altro software, PHP ha un ciclo di rilascio che deve rispettare per continuare ad evolvere e apportare miglioramenti. Ogni major version di PHP è in genere completamente supportata per due anni a partire dalla data di rilascio. Durante questo periodo, i bug e i problemi di sicurezza vengono risolti con regolarità.
È possibile vedere come vengono gestite le versioni più recenti di PHP.
Fine del Ciclo di Vita per PHP 5.6, 7.0, 7.1, 7.2, 7.3, e 7.4
Fine del ciclo di vita significa che queste versioni non avranno più supporto di sicurezza e potrebbero essere esposte a vulnerabilità di sicurezza prive di patch.
- Dal 28 novembre 2022, PHP 7.4 ha raggiunto la fine del suo ciclo di vita.
- Il 6 dicembre 2021, PHP 7.3 ha raggiunto la fine del suo ciclo di vita.
- Il primo novembre 2020, PHP 7.2 ha raggiunto la fine del suo ciclo di vita.
- Il primo dicembre 2019, PHP 7.1 ha raggiunto la fine del suo ciclo di vita.
- Il 3 dicembre 2018, PHP 7.0 ha raggiunto la fine del suo ciclo di vita.
- Il 31 dicembre 2018, anche PHP 5.6 ha raggiunto la fine del suo ciclo di vita. Questo segna ufficialmente la fine di un’era per PHP 5.6, dato che la prima versione, la 5.0, fu rilaciata ben 14 anni fa.
Secondo la pagina ufficiale di WordPress Stats, al momento in cui scriviamo, oltre il 55% degli utenti di WordPress usa ancora PHP 7.4 o versioni inferiori. Se si combina questo dato con le altre versioni di PHP arrivate al loro fine vita, si arriva a un enorme 85% di utenti che usano versioni di PHP non più supportate a partire dal novembre 2022.
Questo è ancora più preoccupante se si guardano le statistiche al di fuori della community di WordPress. Secondo W3Techs, PHP 5 è attualmente utilizzato dal 22,9% di tutti i siti web che utilizzano PHP.
Questo non è solo negativo dal punto di vista della sicurezza, ma anche perché c’è ancora una gran parte dei siti WordPress che non sfruttano i miglioramenti delle prestazioni apportate da PHP 8.2.
Perché Una Così Lenta Adozione Delle Nuove Versioni?
La ragione principale della mancanza di un’adozione più rapida delle nuove versioni molto probabilmente dipende da diversi fattori:
- Il motivo principale che noi osserviamo nei nuovi clienti che migrano su Kinsta è che i proprietari di aziende non conoscono o non si preoccupano della loro versione di PHP. Questo, ovviamente, in alcuni casi è comprensibile, poiché non ci aspettiamo che tutti ne siano informati. Molte volte questa responsabilità ricade sullo sviluppatore, sull’agenzia o sull’host.
- Agli sviluppatori occorre tempo per aggiornare il loro codice affinché supporti le versioni più recenti di PHP. Ciò riguarda gli sviluppatori di siti web, di temi, di plugin, ecc.
- Non solo richiede impegno e tempo per aggiornare il codice, ma può anche richiedere test approfonditi per garantire la compatibilità. La repository di WordPress da sola ospita oltre 55.000 plugin!
- Molti host WordPress sono stati riluttanti a distribuire versioni PHP aggiornate perché questo potrebbe comportare un aumento di ticket di supporto in caso di interruzione di un sito. In qualità di host di applicazioni, database e WordPress gestito, comprendiamo perfettamente questa situazione, ma in base alla nostra esperienza, di solito avviene il contrario. Molte richieste di supporto provengono da problemi causati da versioni PHP obsolete.
- Lo sviluppatore o l’agenzia potrebbero trovarsi tra l’incudine e il martello quando hanno a che fare con un cliente e con applicazioni di terze parti che non sono disposti a spendere risorse per l’aggiornamento.
Tuttavia, detto tutto questo, ancora non ci sono scusanti per avere in esecuzione versioni di PHP non aggiornate, non supportate e che potrebbero rallentare il vostro sito WordPress. La buona notizia è che ci sono dei progressi. È evidente che PHP detiene ancora un’enorme quota di mercato e non sta andando da nessuna parte.
Motivi per cui Dovreste Aggiornare le Versioni di PHP
Ecco alcuni dei motivi per cui dovreste pensare di aggiornare, se non l’avete già fatto.
1. Sicurezza
Uno dei motivi più importanti per aggiornare PHP è quello di essere certi di utilizzare una versione completamente supportata e aggiornata regolarmente per quanto riguarda le vulnerabilità della sicurezza. PHP 5.4 non ha avuto patch dal 2015. E PHP 5.5 dal 2016. È importante notare, tuttavia, che alcuni produttori di sistemi operativi aggiornano ancora le versioni precedenti di PHP, se queste erano incluse nei sistemi.
Secondo CVE Details, il 2016 è stato uno dei peggiori anni per le vulnerabilità della sicurezza di PHP, con oltre 100 problemi segnalati. Questi riguardano DoS, esecuzione di codice, overflow, corruzione della memoria, XSS, traversamento di directory, bypass e acquisizione di tipologie di informazioni. Il 2017 è stato il terzo peggior anno dal 2.000, con l’individuazione di oltre 40 vulnerabilità.
Lo stesso gruppo PHP raccomanda di restare aggiornati:
PHP, come ogni altro grande sistema, è sotto costante controllo e miglioramento. Ogni nuova versione racchiude spesso modifiche maggiori e minori per migliorare la sicurezza e riparare eventuali difetti, problemi di configurazione e altri problemi che potrebbero influire sulla sicurezza e sulla stabilità del sistema. Come altri linguaggi e programmi di scripting a livello di sistema, l’approccio migliore è quello di aggiornare spesso e tenere d’occhio le ultime versioni e le loro modifiche. PHP, Keeping Current
Lettura suggerita: Come migliorare il limite di memoria PHP in WordPress.
2. Prestazioni
Con il rilascio di PHP 7.2, 7.3, 7.4 e 8.0 sono stati ottenuti enormi guadagni di prestazioni! La versione 8.1 mostra ulteriori miglioramenti e la versione 8.2 è stata appena rilasciata. È talmente importante, infatti, che dovrebbe essere una priorità rispetto a molte delle piccole ottimizzazioni con cui potreste giocare sul vostro sito WordPress.
Abbiamo anche eseguito i nostri benchmark PHP. Analogamente ai benchmark precedenti, abbiamo visto che PHP 8.0 e 8.1 eseguono transazioni (richieste) al secondo molto più velocemente delle versioni precedenti.
Kinsta non supporta più PHP 7.4, ma le versioni 7.4, 8.0, 8.1, 8.2, 8.3 e 8.4.
Anche Christian Vigh ha pubblicato un confronto delle prestazioni PHP in cui ha scoperto che PHP 5.2 era il 400% più lento di PHP 7.
3. Supporto
Il supporto è un’altra ragione per cui si dovrebbero utilizzare le versioni PHP più recenti e supportate. Molte volte, gli sviluppatori di plugin e temi possono solo estendere il supporto per le versioni precedenti. Ciò è dovuto al fatto che non non si ha il tempo di testare la compatibilità. Le cose probabilmente finiranno per rompersi quando avete in esecuzione vecchie versioni, e ve ne potete rendere conto nei forum di WordPress. Ecco un errore comune, che è in genere causato da una versione di PHP precedente e da come tratta una determinata funzione:
Parse error: syntax error, unexpected '' (T_VARIABLE), expecting function (T_FUNCTION) in /pub/file.php on line xxx
Potete fare una ricerca nei forum di WordPress per “unexpected T_Function” e vedrete oltre 2000 thread, molti dei quali con risultati negli ultimi due giorni. Eccone solo alcuni, tutti causati dell’esecuzione di vecchie versioni di PHP:
Molti di questi thread vengono aperti perché si hanno in esecuzione versioni obsolete di PHP. Tuttavia, lo stesso si potrebbe dire per i thread aperti a causa di problemi di compatibilità di PHP 7. Il che dimostra che la comunità di sviluppatori di WordPress sta ancora cercando di adeguarsi alle nuove versioni di PHP.
4. Nuove Funzionalità per Sviluppatori
La maggior parte degli sviluppatori di WordPress preferirebbe lavorare solo sulle versioni più nuove di PHP, se potessero, semplicemente per il fatto che sono state aggiunte tante nuove funzionalità tra PHP 5.2 e PHP 7.4. Alcune modifiche apportate da PHP 7 e 7.3 comprendono:
- Operatore di confronto combinato
- Operatore di coalescenza Null
- Nuovo type hinting
- Classi anonime
- Nullable types
- Tipo di ritorno void e pseudo-tipo iterable
- Gestione delle eccezioni multi-catch
- Supporto per le chiavi in list()
- Offset di stringa negativi
- Operatori numerici e numeri malformati
- HTTP/2 server push
- Preloading
- Spread Operator nell’Espressione degli Array
- Arrow functions 2.0 (short closures)
- Operatore di Assegnazione di Coalescenza Null
- Typed properties 2.0
- Weak references
- Tipi di Ritorno Covarianti e Parametri Controvarianti
- Nuovo Meccanismo di Serializzazione Personalizzata degli Oggetti
Non è bello supportare versioni precedenti di alcunché. Sfortunatamente, molti sviluppatori sono bloccati a dover supportare una vasta gamma di versioni.
Le novità di PHP 8.0 sono ancora più numerose. Alcune di quelle più importanti sono:
- Argomenti denominati
- Tipi di unione
- Promozione delle proprietà del costruttore
- Serializzazione personalizzata degli oggetti
- Espressione di corrispondenza
- Operatore Nullsafe
- Miglioramenti nel sistema dei tipi e nella gestione degli errori
E subito dopo arrivano PHP 8.1 e PHP 8.2. Entrambi includono nuove funzionalità, deprecazioni e modifiche.
Assicuratevi che il Vostro Host Supporti le Ultime Versioni di PHP
Ci è voluto un po’, ma i requisiti ufficiali di WordPress.org ora raccomandano un host con PHP versione 7.4 o superiore.
Yoast ha recentemente pubblicato un ottimo articolo dal titolo “Whipping Your Host Into Shape“. Nell’articolo, Joost de Valk entra nel dettaglio su come il vero problema è che i provider di hosting non lo stiano adottando più rapidamente, e anche se lo fanno, non incoraggiano gli utenti ad aggiornare le loro versioni. E Yoast sta per fare qualcosa al riguardo. A partire da Yoast SEO 4.5, inizieranno a mostrare un avviso sulla dashboard di WordPress per i siti che girano su PHP 5.2. Questo avviso sarà grande, brutto e non eliminabile.
Se potessimo dare il cinque a Yoast, lo faremmo di sicuro! Kinsta ha supportato le ultime versioni di PHP con ogni release stabile.
Aggiornamento: PHP 8.2 (versione ufficiale) è ora disponibile per tutti i clienti di Kinsta. PHP 7.4 non è più supportato da Kinsta. Supportiamo invece le versioni di PHP 7.4, 8.0, 8.1, 8.2, 8.3 e 8.4.
Siamo impegnati a gestire l’ambiente più veloce e sicuro sul mercato e ciò significa che dobbiamo essere certi che tutti i siti utilizzino tecnologie che ricevano assiduamente aggiornamenti di sicurezza.
Date un’occhiata alla nostra guida approfondita con istruzioni dettagliate per aggiornare PHP in modo sicuro sul vostro sito WordPress.
Controllate la Versione Corrente di PHP
Forse non sapete su quale versione di PHP gira il vostro sito WordPress. Ecco alcuni modi per scoprirlo.
1. Verificare la Versione di PHP con Pingdom
Uno dei modi più semplici per verificare quale versione di PHP state utilizzando è ricorrere ad uno strumento come Pingdom o Google Chrome Devtools. Il primo header della richiesta HTTP normalmente mostrerà la versione.
Dipende dall’host non modificare il valore dell’intestazione X-Powered-By
. Alcuni potrebbero eliminare questa instestazione per motivi di sicurezza. In questo caso, potreste anche non vedere la vostra versione di PHP, nel qual caso dovreste ricorrere ad una delle altre opzioni descritte di seguito. Oppure contattare l’host e chiedere direttamente a loro.
2. Controllare la Versione di PHP in WordPress
Se utilizzate WordPress 5.0 o versioni successive, potete vedere la versione di PHP con lo strumento “Salute del sito”.
3. Verificare la Versione di PHP con un File
Potete anche controllare la vostra versione PHP caricando un file via FTP sul vostro server.
Passo 1
Create un file vuoto chiamato phpinfo.php. Nel file, incollate il seguente contenuto:
<?php
echo 'Current PHP version: ' . phpversion();
?>
Passo 2
Caricate il file nella root del vostro sito WordPress.
Passo 3
Quindi navigate fino alla posizione del vostro file, domain.com/phpinfo.php. Dovreste vedere un’analisi della vostra attuale versione di PHP.
Cosa Dovrebbero Fare gli Utenti Meno Esperti o Quelli Senza Budget?
Ci rendiamo conto che ci sono ancora migliaia di siti WordPress in giro che sono incompatibili con le nuove versioni di PHP, per un vecchio plugin o per un tema. La sfida è per gli utenti meno esperti o per quelli senza budget. Qual è la loro migliore linea d’azione? Ci capita spesso con i clienti che migrano su Kinsta mentre le versioni di PHP raggiungono il loro EOL.
Ecco alcuni consigli:
- Questo dovrebbe essere un dato di fatto, ma aggiornate sempre i vostri temi e plugin all’ultima versione, se non lo avete già fatto.
- Contattate lo sviluppatore del plugin o del tema e chiedete loro di aggiungere/correggere il supporto di PHP 7.2, 7.3, 7.4 o 8.0 (o la versione corrente a cui stai cercando di aggiornare). Avvertiamo sempre i nostri clienti prima di eliminare gradualmente le versioni di PHP, in modo che possano avere il tempo di farlo. È particolarmente importante per coloro che non hanno risorse per assumere uno sviluppatore.
- Cercate un plugin alternativo in grado di fornire la stessa funzionalità e che sia compatibile con la versione di PHP. Grazie all’enorme repository di WordPress e alle migliaia di plugin e temi premium disponibili, potete quasi esser certi che esiste un’alternativa per tutto.
- Per coloro che hanno le risorse, assumete uno sviluppatore WordPress per risolvere il problema.
Come Aggiornare PHP
Pronti per l’aggiornamento? Ottimo, ma una delle prime cose che dovreste fare è testare il vostro sito per garantirne la compatibilità. Potreste testare il sito WordPress localmente o, meglio ancora, utilizzare un ambiente di staging, in quanto questo sarà più simile a un sito di produzione. È meglio prevenire che curare!
Se siete clienti Kinsta, potete facilmente creare un ambiente di staging con un solo clic. Cambiate la versione di PHP dalla dashboard e iniziate subito i test.
E ricordate, se state effettuando l’aggiornamento da una vecchia versione di PHP, assicuratevi di aggiornare anche l’installazione di WordPress. Probabilmente una nuova versione di PHP con una versione di WordPress vecchia di 2 anni probabilmente non andrà a buon fine. Una volta che avrete testato il vostro sito e siete pronti per aggiornare PHP, date un’occhiata a queste risorse.
Date un’occhiata alla nostra guida approfondita con istruzioni dettagliate su come aggiornare PHP in modo sicuro sul vostro sito WordPress.
Aggiornare PHP con Kinsta
Se siete clienti di Kinsta, potete cambiare facilmente la versione di PHP facendo clic sul vostro sito, andando su “Strumenti” e selezionando un diverso motore PHP. Al momento, le versioni PHP 7.4, 8.0, 8.1, 8.2, 8.3 e 8.4 sono disponibili.
A Kinsta, la nostra configurazione PHP include una funzione di auto-riparazione personalizzata. Questo significa che il motore PHP del vostro sito si riavvierà automaticamente in caso vada in down. Nel caso in cui il riavvio automatico di PHP non abbia successo, il nostro sistema di monitoraggio avviserà il nostro team di sysadmin per indagare il problema.
Aggiornare PHP da cPanel
Se il vostro host usa cPanel, è probabile che ci sia già un’opzione per cambiare la versione di PHP. Basta accedere a cPanel e alla categoria “Software” cliccare su “Seleziona versione PHP”.
Potrete, quindi, selezionare tra le versioni PHP supportate dal vostro l’host.
Aggiornare PHP Manualmente sul Server
Se gestite un vostro server, vi consigliamo di consultare la documentazione ufficiale dell’installazione di PHP poiché le istruzioni variano a seconda del sistema operativo. Consigliamo di esaminare le modifiche apportate a funzioni, classi, wrapper, estensioni, moduli, ecc. Ecco alcuni link alle guide alla migrazione:
- Migrazione da PHP 5.5.x a PHP 5.6.x
- Migrazione da PHP 5.6.x a PHP 7.0.x
- Migrazione da PHP 7.0.x a PHP 7.1.x
- Migrazione da PHP 7.1.x a PHP 7.2.x
- Migrazione da PHP 7.2.x a PHP 7.3.x
- Migrazione da PHP 7.3.x a PHP 7.4.x
- Migrazione da PHP 7.4.x a PHP 8.0.x
- Migrazione da PHP 8.0.x a PHP 8.1.x
- Migrazione da PHP 8.1.x a PHP 8.2.x
Riepilogo
Ora è il momento di pensare all’aggiornamento a PHP 8.0, 8.1 o 8.2 se non lo avete già fatto. Non solo perché è importante avere un software supportato, ma anche perché ci sono notevoli vantaggi in termini di prestazioni! Se il vostro attuale host WordPress non supporta ancora PHP 8.0, 8.1 o 8.2, vi consigliamo vivamente di cercare un nuovo hosting. E lo stesso per quanto riguarda temi e plugin. Se lo sviluppatore deve ancora rilasciare una patch, potrebbe essere il momento di trovare un’alternativa.
Siete migrati di recente a PHP 8.0, 8.1 o 8.2? Ci piacerebbe sapere cosa ne pensate. È stata una transizione facile? O forse siete ancora fermi in attesa di terze parti?
Possiamo dire che è bene aggiornare la versione di PHP alla 7 o successive così da non trovarsi con problemi di sicurezza nel sito web!
Ormai siamo allo scadere anche della versione 7.1. Per star tranquilli bisognerebbe sempre stare al passo con quanto ci dice php.net: https://www.php.net/supported-versions.php