PHP è oggi uno dei linguaggi di scripting più popolari sul web. Secondo W3Techs, PHP è utilizzato da oltre l’79% 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.
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 regolar
Fine del Ciclo di Vita per PHP 5.6 e PHP 7.0
Alla data del 3 dicembre 2018, PHP 7.0 ha raggiunto la fine del suo ciclo di vita. Ciò significa che non riceverà più il supporto per la sicurezza e potrebbe essere esposto a vulnerabilità di sicurezza prive di patch. Seguendo il suo esempio, dal 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, in quanto la prima versione, la 5.0, è stata lanciata 14 anni fa.
Secondo quanto affermato nella pagina ufficiale di WordPress Stats, al momento in cui scriviamo, oltre il 44,6% degli utenti di WordPress sta ancora utilizzando PHP 5.6. Se si associa questo con PHP 7.0, viene fuori che un enorme 60,4% degli utenti utilizza attualmente versioni PHP che non sono più supportate da gennaio 2019.
Questo è ancora più preoccupante se si guardano le statistiche al di fuori della community di WordPress. Secondo W3Techs, PHP 5 è attualmente utilizzato dal 62,6% 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 7.
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 Macro è 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. Come host WordPress lo capiamo bene, ma per esperienza sappiamo che succede esattamente 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. Jordi Boggiano, co-founder di Private Packagist, pubblica un rapporto ogni anno sulle statistiche di utilizzo di PHP. E come è evidente qui sotto, c’è qualche progresso. Questo è ovviamente solo un sottoinsieme di esempio di installazioni di Composer, ma è comunque interessante osservare i cambiamenti.
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
2. Prestazioni
Con il rilascio di PHP 7.2 e 7.3, ci sono stati enormi miglioramenti in termini di prestazioni! Così grandi, in effetti, che l’aggiornamento dovrebbe essere una priorità rispetto a molte piccole ottimizzazioni con cui potreste giocare sul vostro sito WordPress. I seguenti benchmark dimostrano miglioramenti significativi delle prestazioni con PHP 7 rispetto alle iterazioni precedenti. PHP 7 consente al sistema di eseguire il doppio delle richieste al secondo rispetto a PHP 5.6, a quasi metà della latenza.
Abbiamo anche eseguito i nostri benchmark delle prestazioni. Analogamente ai benchmark di cui sopra, abbiamo visto che PHP 7.3 poteva eseguire quasi tre volte il numero di transazioni (richieste) al secondo rispetto a PHP 5.6. PHP 7.3 è inoltre in media il 9% più veloce di PHP 7.2.
- Risultati benchmark WordPress 5.0 PHP 5.6: 91.64 ric/sec
- Risultati benchmark WordPress 5.0 PHP 7.0: 206.71 ric/sec
- Risultati benchmark WordPress 5.0 PHP 7.1: 210.98 ric/sec
- Risultati benchmark WordPress 5.0 PHP 7.2: 229.18 ric/sec ????
- Risultati benchmark WordPress 4.9.4 HHVM: 144.76 ric/sec
- Risultati benchmark WordPress 5.0 PHP 7.3: 253,20 ric/sec ????
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.3. 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
Non è bello supportare versioni precedenti di alcunché. Sfortunatamente, molti sviluppatori sono bloccati a dover supportare una vasta gamma di versioni.
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.3 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 a Yoast il cinque, lo faremmo assolutamente! Macro supporta le ultime versioni stabili di PHP 7.2 e 7.3 sin dal loro rilascio.
In effetti, ogni nuova installazione di WordPress qui su è impostata su PHP 7.2. E PHP 7.1 è la versione minima consentita nel nostro ambiente.
La Timeline di Macro Network Per l’Eliminazione Graduale delle Vecchie Versioni di PHP
A dicembre 2019 rimuoveremo le versioni di PHP 7.1 dal nostro cruscotto . Dovrete eseguire l’aggiornamento almeno a PHP 7.2 per tutti i siti web che utilizzano una di queste versioni di PHP.
Il 1° ottobre 2019 disattiveremo il passaggio a PHP 5.6, 7.0 e 7.1 per i clienti su ambienti live. Sarete in grado di passare a PHP 7.2 o 7.3 negli ambienti live, ma non potrete tornare a PHP 5.6, 7.0 o 7.1. Questa modifica si applicherà ai siti esistenti nonché a tutti i siti creati a partire dal 1 ottobre 2019.
Gli ambienti di staging non saranno interessati dalla scadenza del 1° ottobre per permettervi di continuare i test.
I siti che hanno in esecuzione PHP 5.6, 7.0 o 7.1 verranno aggiornati automaticamente a PHP 7.2 a partire dal 15 ottobrebre 2019.
Ci scusiamo per gli eventuali disagi che questo potrebbe causare. 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.