PHP è oggi uno dei linguaggi di scripting più popolari sul web. Secondo W3Techs, PHP è utilizzato da oltre l’78% 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.

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à.

Versioni PHP supportate

Versioni PHP supportate

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 57% degli utenti di WordPress sta ancora utilizzando PHP 5.6 o inferiore. Se si associa questo con PHP 7.0, viene fuori che un enorme 77,5% 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 73,1% di tutti i siti web che utilizzano PHP.

In questo momento l'77.5% degli utenti di WordPress utilizza versioni PHP che non sono più supportate! 😮 Click to Tweet

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.

Statistiche versioni PHP per WordPress

Statistiche versioni PHP per WordPress

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. 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.

Statistiche utilizzo PHP

Statistiche utilizzo PHP – a cura di Jordi Boggiano

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à.

Vulnerabilità sicurezza PHP per anno

Vulnerabilità sicurezza PHP per anno

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.

php 5.6 vs php 7

Benchmark PHP di Rasmus Lerdorf, PHP Fluent Talk

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.

Benchmark WordPress

Benchmark WordPress

  • 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.

benchmark cpu versioni php

Confronto risultati benchmark CPU

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 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.

PHP 7 è il futuro (e il ragazzo è bello e veloce). 🚀 -- Joost de Valk via @yoast @kinsta_IT Click to Tweet

Se potessimo dare a Yoast il cinque, lo faremmo assolutamente! Kinsta 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 Kinsta è impostata su PHP 7.3. E PHP 5.6 è la versione minima consentita nel nostro ambiente. Non ospitiamo, e non lo faremo mai, siti WordPress in esecuzione su una versione di PHP non supportata. Incoraggiamo le persone a passare a PHP 7.3 per le migliori performance.

Se il tuo host WordPress sta tardando a rilasciare le versioni più recenti di PHP, vi consigliamo vivamente di cercare un nuovo host. Contattateci pure per vedere come possiamo aiutarti.

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.

Verifica della versione PHP in Pingdom

Verifica della versione PHP in Pingdom

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 alla seconda opzione descritta di seguito. Oppure contattare l’host e chiedere direttamente a loro.

Alle prese con i tempi di inattività e problemi di WordPress? Kinsta è la soluzione di hosting progettata per farvi risparmiare tempo! Scopri i nostri servizi

2. 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.

Upload del file phpinfo.php

Upload del file phpinfo.php

Passo 3

Quindi navigate fino alla posizione del vostro file, domain.com/phpinfo.php. Dovreste vedere un’analisi della vostra attuale versione di PHP.

Controllo versione PHP nel browser

Controllo versione PHP nel browser

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:

  1. Questo dovrebbe essere un dato di fatto, ma aggiornate sempre i vostri temi e plugin all’ultima versione, se non lo avete già fatto.
  2. Contattate lo sviluppatore del plugin o del tema e chiedete loro di aggiungere/correggere il supporto di PHP 7.2 o 7.3 (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.
  3. 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.
  4. 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.

Ambiente di staging WordPress

Ambiente di staging WordPress

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.

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. Sono disponibili PHP 7.1, PHP 7.2 e PHP 7.3. Nota: presto abbandoneremo PHP 5.6 e 7.0.

Cambiare la versione PHP di WordPress

Cambiare la versione PHP di WordPress

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”.

Selezione della versione PHP in cPanel

Selezione della versione PHP in cPanel

Potrete, quindi, selezionare tra le versioni PHP supportate dal vostro l’host.

php 7 cpanel

PHP 7 in cPanel

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:

Riepilogo

Ora è il momento di pensare all’aggiornamento a PHP 7.3, 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 7.3, 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 7? Ci piacerebbe sapere cosa ne pensate. È stata una transizione facile? O forse siete ancora fermi in attesa di terze parti?