Tutti i clienti di Kinsta possono aggiornare e/o modificare facilmente le versioni di PHP per ciascun sito WordPress singolarmente all’interno del cruscotto di MyKinsta. Al momento, per i siti ospitati su Kinsta supportiamo 8.0, 8.1, 8.2 e 8.3.

Consigliamo vivamente PHP 8.1 o l’ultima versione 8.2 in quanto è molto più veloce, permette di economizzare sulle risorse ed è più sicuro dei suoi predecessori. In effetti, in alcune configurazioni risulta 3 volte più veloce, come si vede nei nostri report sui benchmark PHP.

Come avrete sentito, PHP è passato ad una fase di rilascio prevedibile. Ogni nuova versione viene mantenuta attivamente per 2 anni e riceve aggiornamenti critici per la sicurezza per un altro anno. Per essere sicuri che i vostri siti WordPress siano il più veloci e sicuri possibile, abbiamo adottato lo stesso programma, il che significa che rimuoveremo le versioni non supportate di PHP quando raggiungeranno il termine del loro ciclo di vita (EOL).

Non solo adotteremo il calendario ufficiale di PHP, ma a partire dal 2020, la fine del ciclo di vita per la versione più vecchia di PHP sulla piattaforma Kinsta sarà sempre il 1° novembre. Questo permetterà sia a voi che al nostro team di fare l’aggiornamento prima delle festività natalizie (Black Friday, Cyber Monday, Natale, ecc.).

Perché Aggiornare la Versione di PHP?

I due motivi principali sono sicurezza e velocità.

Proprio come aggiornate lo stesso WordPress per essere sicuri di essere protetti dalle vulnerabilità della sicurezza, dovreste fare lo stesso con PHP. Inoltre, l’aggiornamento di PHP produce un aumento significativo della velocità. PHP 7.0 ha fatto un grande salto in avanti – più che raddoppiando le prestazioni rispetto alla versione 5.6. Con ogni versione abbiamo visto miglioramenti crescenti delle prestazioni rispetto alla versione precedente.

Per maggiori dettagli, date un’occhiata al nostro articolo sulle versioni supportate di PHP.

Non siete sicuri di quale versione di PHP state utilizzando? Potete controllare nel menu Strumenti del cruscotto di MyKinsta. Oppure, se state utilizzando WordPress 5.0 o una delle versioni successive, potete vedere la versione di PHP nello strumento Salute del sito.

Versione PHP nello strumento Salute del Sito WordPress
Versione PHP nello strumento Salute del Sito WordPress

Cosa Succede se il Mio Sito si Interrompe

I problemi causati dall’aggiornamento delle versioni di PHP si verificano quando il codice in esecuzione sul vostro sito utilizza vecchie funzioni che non sono più supportate dalle versioni recenti di PHP. È probabile che il colpevole sia un plugin o un tema attivo. La nostra guida qui di seguito fornisce istruzioni dettagliate per risolvere questo problema.

Come Aggiornare in Modo Sicuro le Versioni di PHP (I Passaggi)

Oggi vi mostriamo i passaggi per testare al meglio la compatibilità del vostro sito WordPress prima di aggiornare la versione di PHP. Molti di voi non dovrebbero andare incontro a tempi morti e sarà necessario poco lavoro.

Per altri, potrebbero essere necessari altri test, ricerca dei problemi e persino assumere uno sviluppatore WordPress per rendere tutto compatibile.

Se volete aggiornare subito la versione di PHP nel vostro ambiente di produzione, potete saltare al Passo 5. Tuttavia, vi consigliamo vivamente di seguire tutti i passaggi qui descritti, per essere certi che tutto funzioni correttamente.

Soprattutto se girate su una versione più vecchia di PHP, come PHP 7.4.

  1. Creare un Sito di Staging
  2. Cambiare Motore PHP
  3. Provare il Sito, i Plugin e il Tema
  4. Spostare lo Staging in Produzione
  5. Aggiornare PHP sul Sito Live

Passo 1 – Creare un Sito di Staging

La prima cosa da fare è creare un sito di staging. Questo è separato dal vostro ambiente live e vi permetterà di testare le versioni più recenti di PHP senza rischiare di interrompere il sito live.

Nel cruscotto di MyKinsta, fate clic su Siti nella barra di navigazione a sinistra. Vedrete un elenco dei vostri siti. Fate clic su quello a cui desideri aggiungere un’area di staging (il sito su cui desideri aggiornare le versioni di PHP). Fate clic sul selettore dell’Ambiente accanto al nome del sito e selezionate Staging dal menu a tendina, poi cliccate sul pulsante Crea un ambiente di staging.

Creare un ambiente di staging WordPress su MyKinsta.

Ricordatevi di controllare anche le note importanti sugli ambienti di staging. Ad esempio, se utilizzate un CDN di terze parti, potrebbe essere necessario disabilitarlo affinché il sito venga visualizzato correttamente.

Questo perché il sito di staging utilizza un URL diverso. Anche in caching è disabilitato sullo staging, quindi tenetelo a mente se state testando le prestazioni.

Passo 2 – Aggiornare/Cambiare Versione di PHP

Per aggiornare la versione PHP del vostro sito WordPress, andate su Siti e selezionate il sito su cui desiderate modificare la versione di PHP. Quindi fate clic sulla scheda Strumenti. Sotto Motore PHP fate clic sul pulsante Modifica e dal menu a tendina selezionate la vostra versione di PHP preferita.

Se volete testare prima una nuova versione di PHP, assicuratevi che sia selezionato l’ambiente di staging di WordPress, non l’ambiente di produzione. Vi consigliamo di fare il primo test con PHP 8.0. Se il vostro sito presenta problemi, potete contattare in qualsiasi momento il team di assistenza Kinsta.

Cambiare la versione PHP su MyKinsta.
Cambiare la versione PHP su MyKinsta.

Una volta selezionata la versione di PHP desiderata, riceverete un messaggio. Fate clic sul pulsante Modifica versione PHP per confermare la vostra scelta.

Conferma della modifica della versione PHP.
Conferma della modifica della versione PHP.

Questa procedura può richiedere fino a 3 minuti. Alla fine, il vostro motore PHP sarà riavviato, il che potrebbe comportare un paio di secondi di inattività per il back-end di WordPress. I visitatori del vostro sito non vedranno alcuna interruzione.

Mentre la versione di PHP viene modificata, potete allontanarvi dalla pagina descritta, ma alcune azioni, come la gestione della cache, non saranno disponibili fino a quando il nuovo motore non sarà stato attivato. Riceverete una notifica nel cruscotto non appena la modifica sarà stata effettuata.

Lettura suggerita: Come Risolvere l’Errore WordPress “The site is experiencing technical difficulties” (in inglese).

Passo 3 – Provare il Sito, i Plugin e il Tema

Ora dovreste avere un sito di staging attivo e in esecuzione con l’ultima versione di PHP (o con la versione a cui volete passare). La prima cosa da fare è semplicemente navigare e fare clic in giro sul vostro sito WordPress per vedere se notate qualcosa che non va.

Se c’è qualcosa di non compatibile, come un plugin o il vostro tema, potreste visualizzare un errore 500 (501, 502, 503, 504, ecc.) o uno schermo bianca della morte sul front-end del vostro sito. In questo caso, il modo più semplice e veloce per determinare quale potrebbe essere la causa dell’errore è disabilitare tutti i plugin di terze parti e riattivarli uno per uno. Ricordate che siete su un sito di staging. Quindi non dovete preoccuparvi di rompere qualcosa.

Nella dashboard di WordPress, nella schermata Plugin, selezionate tutti i plugin. Quindi selezionarete Disattiva dal menu a discesa e fate clic su Applica.

Come disattivare in gruppo i plugin di WordPress dalla dashboard
Come disattivare in gruppo i plugin di WordPress dalla dashboard

Potete quindi riattivarli uno per uno, visitando ogni volta il vostro sito WordPress. Ciò contribuirà a restringere il campo tra le cose che potrebbere causare un problema. Non avete accesso alla dashboard di WordPress per un qualche tipo di errore? Nessun problema, ecco come disabilitare i plugin via FTP.

Gli stessi identici test possono essere utilizzati con il vostro tema WordPress. Potete tornare temporaneamente al tema WordPress predefinito, come il tema Twenty Nineteen.

Visualizzare i File di Log in MyKinsta

Forse avete già individuato il tema o il plugin che genera il problema, ma non siete sicuri del perché? È qui che possono tornare utili i log degli errori di WordPress. Basta fare clic su uno dei siti WordPress e, sul lato destro, fare clic su Log degli errori.

È possibile visualizzare i file error.log, kinsta-cache-perf.log e access.log. Di default saranno mostrate le ultime 1.000 righe. Potete trascinare il cursore per visualizzare le ultime 20.000 righe.

Visualizza gli errori PHP su MyKinsta.
Visualizza gli errori PHP su MyKinsta.

Importante: lo strumento dei log di MyKinsta non mostra le informazioni di debug. Se dovete visualizzare le informazioni di debug, potete abilitare WP_DEBUG come ti mostriamo di seguito.

Visualizzare i File di Log Grezzi Via SFTP

Potete vvisualizzare i log completamente non modificati in /logs/ via SFTP.

La cartella del registro degli errori di WordPress via SFTP
La cartella del registro degli errori di WordPress via SFTP

Seguire i File di Log Via SSH

Potete seguire i log mentre effettuate gli esperimenti sul vostro sito utilizzando SSH. Questo in pratica significa che è possibile guardare l’aggiornamento del registro dal vivo durante il test. Tutti i piani di hosting di Kinsta includono l’accesso SSH.

Visualizza le ultime 500 righe

tail -n 500 /www/sitename/logs/error.log

Osserva il file dal vivo

Osserva l’aggiornamento del file del log degli errori dal vivo.

tail -f /www/sitename/logs/error.log

Per chi ha accesso a SSH, anche WP-CLI può essere uno strumento prezioso.

Attivare la Modalità di Debug in MyKinsta

Per gli utenti di Kinsta, la modalità di debug di WordPress può essere abilitata direttamente nel cruscotto di MyKinsta. Navigate su Sites > Tools > WordPress Debugging, e fare clic sul pulsante Enable. Questo vi permetterà di vedere gli errori e gli avvisi PHP senza dover abilitare la modalità di debug tramite SSH o SFTP.

La modalità debug è attivata in MyKinsta
La modalità debug è attivata in MyKinsta

La nostra funzione di self-healing PHP riavvia automaticamente PHP se nota dei problemi. Se avete bisogno di riavviare manualmente PHP per qualsiasi motivo, potete farlo andando alla pagina Strumenti del vostro sito e facendo clic su Riavvia PHP.

Riavviare PHP nel cruscotto di MyKinsta
Riavviare PHP nel cruscotto di MyKinsta

Abilitare la Registrazione del Debug in WordPress

Se non avete accesso a SSH o MyKinsta, è sempre possibile attivare il debug logging in WordPress. Innanzitutto, dovrete connettervi al vostro sito via SFTP. Quindi scaricate il vostro file wp-config.php così da poterlo modificare.

Download del file wp-config.php
Download del file wp-config.php

Trovate la riga che dice /* Finito, interrompere le modifiche! Buon blogging. */ e, subito sopra, aggiungete quanto segue:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Abilitazione del registro di debug in WordPress
Abilitazione del registro di debug in WordPress

Se il codice sopra riportato esiste già nel file wp-config.php, ma è impostato su “false”, vi basta impostarlo su “true”. Ciò abiliterà la modalità di debug e mostrerà tutto nel file /wp-content/debug.log. Vedrete anche avvisi ed errori nel pannello di amministrazione di WordPress, se ce ne sono.

Importante: non dimenticate di disattivarlo quando avete finito, perché questi file possono diventare rapidamente molto grandi.

Non Sapete Cosa Cercare?

Ci sono migliaia di plugin e temi in circolazione, quindi, sfortunatamente, è impossibile per noi elencare tutti gli errori in cui potreste imbattervi. In genere ciò si verifica a causa della incompatibilità del codice (funzioni, sintassi, ecc.) con la versione di PHP in uso. Tuttavia, ecco un esempio di qualcosa che potreste vedere.

500: Fatal error: Uncaught Error: A semicolon (';') is expected here. in /www/sitename/public/wp-content/plugins/bbpress-shortcodes/bbpress-shortcodes.php:177

Come potete vedere qui sopra, è abbastanza facile intuire che il plugin bbPress Shortcodes sta causando un problema.

Nei casi peggiori, potreste riscontrare un problema di compatibilità con uno o due plugin. In tal caso, ecco cosa consigliamo di fare:

  1. Aggiornate i vostri temi e plugin all’ultima versione, se non l’avete già fatto.
  2. Contattate lo sviluppatore del plugin o del tema e chiedigli di aggiungere/correggere il supporto per PHP 7.4 (o la versione che state utilizzando). Questo è uno dei motivi per cui vi stiamo dando un avviso prima delle date di eliminazione!
  3. Trovate un plugin alternativo in grado di offrire la stessa funzionalità e che sia compatibile con la versione di PHP.
  4. Assumete uno sviluppatore WordPress per risolvere il problema.
  5. Cambiate il motore PHP ad una versione precedente e vedete se il plugin o il tema funziona. In tal caso, potreste utilizzare una versione precedente di PHP fino a quando lo sviluppatore non avrà aggiornato il codice. Non consigliamo questa soluzione, dato che PHP 8.0 è più veloce e sarà supportato per un periodo di tempo più lungo. Ma se c’è qualcosa che dovete utilizzare assolutamente, e questa cosa funziona solo su PHP 7.4, allora dovreste considerare questa soluzione.

Passo 4 – Spostare lo Staging in Produzione

Una volta che avete finito di testare il vostro sito con PHP, se avete dovuto fare delle modifiche ai vostri plugin o temi, potete passare l’ambiente di staging a live o fare sul sito live le stesse modifiche che avete fatto al sito di staging.

Alcuni di voi potrebbero trovarsi a dover apportare modifiche piuttosto esaustive in fase di staging per far funzionare il sito su una versione più recente di PHP. In questo caso, l’uso della funzione push to live vi farà risparmiare molto tempo.

Per farlo, assicuratevi di aver selezionato l’ambiente di staging. Quindi fate clic sul pulsante Passa lo Staging in Produzione.

Sposta online l’ambiente staging WordPress.
Sposta online l’ambiente staging WordPress.

Contattate il nostro team di supporto ogni volta che avete bisogno, 24/7, per dubbi o problemi con l’aggiornamento della versione di PHP sul vostro sito WordPress.

Passo 5 – Aggiornare PHP sul Sito Live

Ora che tutto è pronto per l’aggiornamento di PHP, potete cambiare la versione di PHP sul vostro sito live proprio come avete fatto nel precedente Passo 2 (Strumenti > Motore PHP > Modifica > selezionate la vostra versione preferita di PHP).