Articles

Cos’è PHP 7 e come iniziare a usarlo con WordPress?

Tags – how to, PHP, PHP7
  • Di Sourav Kundu
  • Maggio 15, 2019
WordPress Deals

PHPP 7 è uno degli aggiornamenti più significativi nella storia di un software lato server che alimenta oltre l’82% di internet e, in questa guida, discuteremo i pro e i contro del suo utilizzo con WordPress.

Guarderemo gli incredibili vantaggi di PHP 7, e vi aiuteremo a capire l’importanza di aderire alla versione minima raccomandata (5.6). Imparerete anche a controllare se il vostro sito WordPress è pronto per PHP 7, e a misurare i pro e i contro dell’aggiornamento a questa nuova versione.

Alla fine di questa guida, sarete dotati di una solida comprensione di PHP, e abbastanza convinti di aggiornare al minimo consigliato – o forse anche di fare il passo successivo a PHP 7!

Iniziamo…

Guida per principianti al PHP – Cos’è il PHP?

Per quelli di voi che sono assolutamente nuovi all’argomento, il PHP è un linguaggio di scripting lato server progettato per generare pagine HTML su richiesta.
Pensatelo come un semplice processo in tre fasi:

  • Input: Si inserisce un insieme di comandi scritti nella forma di uno script PHP, come input al motore PHP.
  • Elaborazione: Il motore PHP esegue lo script sul server.
  • Output: L’output è una pagina HTML che viene resa dal browser web.

Nel processo a tre fasi descritto sopra, possiamo identificare alcuni componenti.

  1. Gli script PHP
  2. Motore PHP
  3. Server
  4. Output HTML

Ora, vediamo come si riferiscono ad un tipico ambiente WordPress.

Components of a typical PHP Environment

1) Script PHP: WordPress è essenzialmente una vasta e organizzata collezione di codice scritto in più linguaggi di scripting, come PHP, JavaScript e CSS, con il principale che è PHP. È ciò che dà a WordPress la sua natura dinamica.

2) Motore PHP: Pensatelo come il componente centrale che esegue le istruzioni stabilite nello script PHP – facendolo con l’aiuto del server su cui è in esecuzione. Il motore PHP è uno dei componenti più cruciali e influenza la velocità, le prestazioni e l’affidabilità di un sito web. È anche l’argomento centrale della nostra discussione!

3) Server: Questo è il computer remoto, noto anche come ‘web host’, dove il tuo sito WordPress è ospitato. Se ci fosse un web host senza PHP installato, WordPress non funzionerebbe su di esso.

4) Output HTML: Ogni volta che un sito WordPress viene caricato, il motore PHP viene convocato. Gli script vengono eseguiti dal motore PHP utilizzando il server, e l’HTML finale (o di uscita) viene esportato al browser web del visitatore. E questo è ciò che completa il processo.

Che cos’è PHP 7?

Ora che ci è chiaro cos’è uno script PHP, parliamo del motore PHP. Per il resto dell’articolo, useremo i termini ‘motore PHP’ e ‘PHP’ come sinonimi.

PHPPH 7 è un motore PHP che è stato lanciato nel dicembre 2016, e porta una pletora di nuove caratteristiche, miglioramenti delle prestazioni e miglioramenti della sicurezza. Come ogni buona lezione, iniziamo con un po’ di storia.

Una breve storia di PHP

PHPPH è stato rilasciato nel 1994 come linguaggio di scripting da Rasmus Lerdorf nel tentativo di creare uno strumento che avrebbe reso facile l’aggiornamento della sua homepage personale. *Poco sapeva che questo progetto secondario si sarebbe evoluto fino ad alimentare più dell’82% di tutti i siti web – compresi i grandi come *Facebook e WordPress.

Nel corso degli anni, PHP ha avuto un paio di rilasci. La prima nel 1995, seguita dalla versione 2.0 nel 1997. La versione 3.0 è stata rilasciata nel 1998, seguita dalla versione 4.0 nel 2000.

È l’attesa che rende PHP 7 speciale?

illustration of 12 years time taken to release php 7

È qui che le cose cominciano a farsi interessanti. La versione 5 di PHP è stata rilasciata quattro anni dopo, nel 2004. Ha avuto molteplici iterazioni – tanto che il comitato ha deciso di saltare la versione 6 e passare alla versione 7. Per mettere le cose in prospettiva, la prima iterazione di PHP 5 è stata la versione 5.0, rilasciata nel 2004. La sua ultima iterazione, PHP 5.6, è stata rilasciata dieci anni dopo, nel 2014.

Due anni dopo è arrivato PHP 7, la versione più promettente di PHP fino ad oggi. In sostanza, il mondo ha dovuto aspettare ben 12 anni per mettere le mani su PHP 7.

Miglioramenti delle prestazioni in PHP 7

L’attesa non è andata sprecata. PHP 7 è arrivato con una vagonata di miglioramenti nelle prestazioni e nella sicurezza. Approfondiamo ogni miglioramento delle prestazioni, supportato da solidi benchmark.

1) Larghezza di banda massicciamente migliorata (richieste al secondo)

php 7 advantages in WordPress higher bandwidth

PHPhp 7 ha funzionato quasi due volte meglio di PHP 5.6, eseguendo WordPress 4.1.1.

php7 vs php 5.6 in WordPress performance benchmark

Nel grafico sopra, possiamo vedere quasi 2. 18 volte il numero di richieste al secondo.18 volte il numero di richieste al secondo a meno della metà della latenza.

2) Latenza inferiore per gli utenti concorrenti

php 7 advantages in WordPress lower latency

La latenza è la quantità di tempo trascorso tra la prima richiesta e la prima risposta tra server e client. Più bassa è la latenza, migliore è il servizio. Controlliamo come PHP 7 la gestisce.

php7 vs php 5.6 in WordPress latency concurrent users

Abbiamo preso tre punti dati basati sul numero di utenti concorrenti per ogni motore PHP.

  1. Le barre arancioni rappresentano la latenza quando dieci persone stanno usando simultaneamente il tuo sito.
  2. Le barre blu sono per il doppio (cioè 20 utenti contemporanei).
  3. Le barre rosa sono per 40 utenti contemporanei.

In tutti i casi, PHP 7 batte i suoi predecessori fuori dal parco.

*Tutto questo nello *stesso esatto hardware! Questo significa che se dovessi aggiornare a PHP 7 con tutti i controlli di compatibilità necessari (più avanti), dovresti vedere un aumento di due volte delle prestazioni.

3) WordPress 4.0+ Releases sono ottimizzati per PHP 7

php 7 advantages in WordPress better compatibility with wordpress

WordPress 4.0 stesso è stato messo a punto per sfruttare le ultime caratteristiche di PHP 7. Secondo Zend, ha quasi il doppio delle prestazioni sullo stesso hardware, rispetto al suo predecessore, WordPress 3.6.

php7 WordPress 3.6 vs 4.1 performance improvement

Nel grafico sopra, vediamo che c’è un miglioramento delle prestazioni di due volte in un importante aggiornamento di WordPress. Questo benchmark è indipendente dalla versione di PHP. Piuttosto, è un’indicazione che la comunità di WordPress sta continuamente ottimizzando il codice per le prossime versioni di PHP.

4) 75% di istruzioni in meno, stesso risultato

php 7 advantages in WordPress memory optimization

PHP 7 ha anche un set di istruzioni killer. È scandalosamente ottimizzato per eseguire lo stesso compito con meno istruzioni. Per esempio, una richiesta di WordPress su PHP 5.6 viene eseguita in 100 milioni di istruzioni della CPU. Mentre in PHP 7, la stessa richiesta viene eseguita in 25 milioni di istruzioni della CPU. Si tratta di una riduzione del 75% del numero di comandi necessari per fare lo stesso lavoro!

5) Guadagni significativi in termini di prestazioni

php 7 advantages in WordPress superior performance

Jason Cosper, nerd residente di WP Engine, ama giocare con gli ultimi motori PHP per vedere quali funzionano meglio.

php 7 advantages in WordPress php 5.5 vs php 7.0

In uno dei suoi esperimenti, ha scoperto che PHP 7 è probabilmente 6. 6 volte più veloce di PHP 5.5.6 volte più veloce di PHP 5.5 – eseguendo WordPress 4.3.1 e bbPress.

State of WordPress PHP in Q1 2017

Ora che abbiamo una comprensione funzionale dei vantaggi di PHP 7, diamo un’occhiata a quanti utenti WordPress lo stanno usando.

state of WordPress php 2017 q1

Il Bene: Secondo le statistiche ufficiali di WordPress, il 9% della comunità di WordPress ha aggiornato a PHP 7 al 20 aprile 2017.

Il Bene: Circa il 40% degli utenti di WordPress utilizza PHP 5.6. Questa è una notizia relativamente buona, poiché PHP 5.6 ottiene il supporto di sicurezza fino al 31 dicembre 2018.

Il Brutto: Tuttavia, la notizia davvero brutta è che più del 50% dei siti attivi di WordPress utilizza una versione di PHP più vecchia di 5.6, il che espone tutti questi siti a gravi problemi di vulnerabilità.

  • Php 5.4 non è stato patchato dal 2015.
  • E PHP 5.5 non è stato patchato dal 2016.
  • Se stai usando una versione più vecchia di 5.6 (più avanti su come controllare la vostra versione di PHP), aggiornate immediatamente la vostra versione di PHP.

Un faro di speranza

yoast seo php 5 and php 7 battle

Joost de Valk, fondatore di Yoast SEO – un plugin SEO per WordPress con oltre 3 milioni di installazioni attive – ha deciso di fare qualcosa al riguardo. Per citare l’articolo originale:

A partire da Yoast SEO 4.5, inizieremo a mostrare un avviso sulla dashboard di WordPress agli amministratori dei siti che utilizzano PHP 5.2. Questo avviso sarà grande, brutto, e non disprezzabile. In questo avviso, spiegheremo perché l’amministratore dovrebbe aggiornare la versione PHP del sito.

WordPress e le versioni obsolete di PHP

dangers of outdated php illustration

A questo punto, è importante sottolineare che WordPress continuerà a supportare le vecchie versioni di PHP. Questo non significa che potete sedervi e rilassarvi. È nel nostro migliore interesse aggiornare alla 5.6 – se non a PHP 7.

php 5.x and php 7 support timeline

Se siete su PHP 5.6, ci sono un paio di cose in arrivo:

  1. Secondo la timeline ufficiale di supporto PHP, PHP 5.6 avrebbe ottenuto il supporto ufficiale fino al 17 gennaio 2017. Questo è finito.
  2. In una notizia migliore, PHP 5.6 avrebbe ottenuto il supporto di sicurezza fino al 31 dicembre 2018.
  3. Ovviamente, ti mancheranno ancora tutti i miglioramenti delle prestazioni che potresti ottenere con un investimento assolutamente nullo.

Passare a PHP 7 – Ne vale la pena?

Ora che abbiamo una solida comprensione dei vari vantaggi di PHP 7, affrontiamo la domanda cruciale: Dovresti passare a PHP 7?

Il metodo per arrivare a qualsiasi decisione dovrebbe essere basato sulla logica. Cercheremo di affrontare queste tre domande fondamentali:

Quali sono i vantaggi del passaggio a PHP 7?

php 7 advantages

Abbiamo trattato cinque punti supportati da benchmark provenienti da tutto il web. Tutti indicano una serie di vantaggi, e un sonoro sì quando si tratta di decidere di passare.

Il tuo tema WordPress e i tuoi plugin sono compatibili con PHP 7?

php 7 compatibility issues

Solo perché WordPress è compatibile con PHP 7 (e ha una compatibilità all’indietro con PHP 5.6), non significa che tutti i suoi temi e plugin lo siano. Potreste usare un tema o un plugin fatto su misura che ha caratteristiche che sono deprecate in PHP 7. Potresti anche usare un plugin dal repository di WordPress che non è stato aggiornato per un po’. Qual è la soluzione?

Come puoi controllare se il tuo sito WordPress è pronto per PHP 7?

php 7 challenges

Per fortuna, i generosi sviluppatori di WP Engine hanno creato un fantastico plugin che risolve proprio questo problema.

php compatibility checker WordPress plugin by wpengine

Introduzione al PHP Compatibility Checker: Un plugin che analizza il codice base di WordPress e i plugin attivi del tema alla ricerca di problemi di compatibilità noti.

PHP Compatibility Checker

Le versioni di PHP supportate dal plugin PHP Compatibility Checker

È possibile controllare i problemi di compatibilità per cinque versioni distinte di PHP, che vanno dalla 5..3 a 7.0.

php compatibility checker WordPress plugin test results

(clicca per ingrandire)

I problemi di compatibilità (se trovati) sono classificati in errori e avvisi. Il plugin elencherà il file e il numero di linea del codice incriminato, insieme alle informazioni sul perché quel codice è incompatibile con la versione scelta di PHP.

Tuttavia, ci sono alcune limitazioni:

  1. Il plugin non può rilevare problemi di compatibilità runtime, poiché non esegue nessuno dei temi e plugin esistenti.
  2. Si basa su WP-Cron per la scansione dei file in background, quindi WP-Cron deve essere abilitato e in funzione sul server.
  3. Occasione, vengono segnalati falsi positivi poiché il plugin non è in grado di rilevare percorsi di codice inutilizzati che possono essere utilizzati per la retrocompatibilità.

list of supported plugin checks by php compatibility checker

Elenco di esempio dei plugin supportati da PHP Compatibility Checker.

Tutto sommato, è un plugin abbastanza pulito che può dirti se il tuo stack WordPress è preparato o meno per l’aggiornamento!

Quali sono i pericoli del mancato passaggio a PHP 7?

php 7 pitfalls

I tre punti seguenti spiegano gli svantaggi del mancato aggiornamento a PHP 7 raccomandato. Evidenziano anche alcuni dei possibili pericoli del mancato aggiornamento alla versione minima richiesta, PHP 5.6.

4.1 Performance Drop: Prima di tutto, si perderebbe un aumento di almeno due volte delle prestazioni senza investire un solo centesimo. E indovina un po’? Se sei su PHP 5.2, si dice che sia il 400% più lento di PHP 7!

4.2 Problemi di sicurezza: PHP 5.x aveva una pletora di vulnerabilità che sono state debitamente corrette con le versioni più recenti. In realtà, il 2016 è stato un anno record per le vulnerabilità di sicurezza di PHP, con più di 100 problemi segnalati, che vanno dal Denial of Service (DoS) alla corruzione della memoria, all’esecuzione di codice maligno e così via.

Per darvi un’idea di quanto sia grave la situazione, PHP 5.4 non è stato patchato dal 2015, e non è più supportato. Eppure il 21% degli utenti di WordPress usa ancora PHP 5.4! Se fai parte di questo gruppo, aggiorna oggi stesso alla 5.6.

4.3 Plugin rotti: L’utilizzo di una versione vecchia e non supportata di PHP crea conflitti con i plugin. Uno degli errori più prominenti è il ‘unexpected T_Function’, come visto sotto.

outdated version of PHP causes WordPress conflicts

Screenshot del thread di supporto del plugin Content Locker

Lo screenshot sopra è una richiesta di supporto per il plugin Content Locker. L’autore menziona chiaramente che la versione minima di PHP richiesta per il funzionamento del plugin è la 5.4.

Success Stories

PHP 7 success stories

È sempre incoraggiante vedere come varie organizzazioni in tutto il mondo stanno beneficiando dell’aggiornamento.

5.1) Una fortuna risparmiata per Badoo

Il nostro primo esempio è l’app di incontri Badoo, che è riuscita a risparmiare oltre 1 milione di dollari passando a PHP 7. Come? Semplice! PHP 7 ha ridotto la quantità di potenza di calcolo necessaria per svolgere lo stesso compito. Quindi, sono stati necessari meno server per fare lo stesso lavoro, il che ha finito per liberare circa 300 server!

5.2) Maggiore aumento delle prestazioni per Clinton Electronics

La nostra seconda storia di successo viene da un cliente di WP Engine, Clinton Electronics. In poche parole, volevano un negozio ecommerce dinamico con tempi di caricamento veloci. Lo stack scelto era WordPress, insieme a WooCommerce. L’agenzia con cui stavano lavorando ha scelto WP Engine come fornitore di hosting WordPress gestito, che, a sua volta, ha raccomandato PHP 7. Questo aggiornamento alla fine è riuscito a ridurre il tempo di caricamento del sito web di ben il 60%!

Come passare a PHP 7 con WordPress?

switching to php 7 illustration

Prima di tutto, assicuratevi che il vostro attuale stack WordPress sia compatibile con PHP 7 utilizzando il plugin PHP Compatibility Checker. Una volta che il plugin ti dà il via libera, procedi con l’aggiornamento.

  • Se stai usando un hosting WordPress condiviso, come Bluehost, puoi aggiornare la tua versione di PHP in quattro semplici passi. Quasi tutti i provider di hosting WordPress condiviso sono dotati di un cPanel o di un pannello di accesso personalizzato in cui è possibile cambiare la versione di PHP.
  • Se state usando un provider di hosting WordPress gestito, come WP Engine, passare a PHP 7 è un gioco da ragazzi – contattate il loro supporto, e lo faranno in un batter d’occhio.
WPEngine PHP FAQ page Retrieved 26 Apr, 2017

Pagina FAQ PHP di WP Engine, recuperata il 26 aprile 2017

Pagina FAQ PHP di WP Engine, recuperata: 26 aprile 2017

La buona notizia per gli utenti di WP Engine è che la versione minima consentita di PHP è 5.6, secondo la loro pagina FAQ.

Perché WP Engine? Ci sono una serie di vantaggi che rendono WP Engine ancora più attraente:

  1. Tecnologia innovativa di WordPress.
  2. Server incredibilmente veloci in grado di gestire centinaia di milioni di richieste al giorno.
  3. Sicurezza hardcore con protezione DDoS avanzata.
  4. Supporto superiore.

Sono nel settore da un paio d’anni ormai, e hanno conquistato marchi importanti, come National Geographic e AMD. Quello che personalmente mi piace di più di WP Engine è la loro cultura di restituire alla comunità – che si tratti di sponsorizzare WordCamps, ospitare eventi, o costruire fantastici plugin gratuiti come il PHP Compatibility Checker.

Se state considerando un aggiornamento, o cercando di cambiare il vostro attuale fornitore di hosting, vi consigliamo vivamente WP Engine come fornitore di hosting WordPress gestito, con piani a partire da 29 dollari al mese.

Concludendo

Riassumiamo rapidamente tutto ciò che abbiamo imparato finora:

  1. PHP alimenta l’82% di Internet, alimentando siti come Facebook e WordPress.
  2. La versione minima consigliata di PHP è 5.6 – qualsiasi cosa al di sotto di questa è un grande no-no!
  3. PHP 7 ha miglioramenti significativi in termini di prestazioni, sicurezza e funzionalità – aumenta facilmente le prestazioni di WordPress di 2 volte con zero hardware aggiuntivo.
  4. Passare WordPress a PHP 7 porta a casa una serie di vantaggi senza alcun investimento.
  5. Tuttavia, prima di passare, è necessario assicurarsi che la vostra configurazione WordPress sia pronta per essere aggiornata a PHP 7 utilizzando il plugin PHP Compatibility Checker.
  6. Gli host condivisi come Bluehost supportano PHP 7, ma devono essere abilitati manualmente.
  7. Gli host WordPress gestiti come WP Engine hanno una solida compatibilità con PHP 7.

Alla fine della giornata, PHP continua a migliorare ad ogni release. Se stai usando WordPress con solo i plugin popolari, potresti guadagnare molto aggiornando a PHP 7. Tuttavia, se stai usando un sacco di plugin personalizzati o aggiornati di rado, è forse meglio aspettare ancora qualche mese prima di fare l’aggiornamento. Tuttavia, è imperativo che usiate PHP 5.6 e niente al di sotto di questo!

Stai già usando PHP7 con WordPress? Pensieri?

Di Sourav Kundu

Appassionato di tecnologia in generale, Sourav ama imparare e scrivere su WordPress, ed è interessato al marketing, alla psicologia e a tutte le cose digitali. Può essere raggiunto su Twitter.