SiteGround vince il premio Google Cloud DORA per la sua cultura su prestazioni e innovazione

SiteGround vince il premio DORA

Siamo entusiasti di annunciare che SiteGround è stata insignita del premio Google Cloud DORA per la sua cultura sulle performance e l’innovazione. Questo riconoscimento ci pone accanto a leader globali come GitLab, Uber, Vodafone, Virgin Media O2 e altre grandi aziende riconosciute per la loro eccellenza nel settore nel corso degli anni. Il Google Cloud DORA Award  vinto da SiteGround è una testimonianza del duro lavoro e della dedizione del nostro team, che evidenzia i nostri sforzi per migliorare continuamente le nostre operazioni, i processi di lavoro, la tecnologia e l’infrastruttura a vantaggio dei nostri clienti.

Innovare i processi DevOps per migliorare prestazioni e crescita

Il Google Cloud DORA Award  riconosce le aziende all’avanguardia nel promuovere DevOps attraverso la ricerca DORA. Il nostro premio dimostra come implementiamo processi DevOps efficaci che portano a un ambiente di lavoro più produttivo, a un migliore lavoro di squadra e all’efficienza e testimonia come forniamo prestazioni di prim’ordine, garantendo al contempo ai nostri clienti la migliore esperienza possibile.

Cosa misura DORA?

Il team DevOps Research and Assessment (DORA) ha sviluppato il progetto Four Keys, che aiuta organizzazioni come la nostra a monitorare aspetti importanti dello sviluppo del nostro software tramite quattro diverse metriche. Ciò ci consente di vedere quanto stiamo andando bene e di trovare modi per migliorare ulteriormente la distribuzione del software e il lavoro di squadra, migliorando in definitiva l’esperienza dei nostri clienti con i nostri servizi.

Queste quattro metriche chiave sono:

  • Frequenza di distribuzione
  • Tempo di consegna per le modifiche
  • Tempo di ripristino dei servizi
  • Tasso di errore delle modifiche

Per oltre un decennio, DORA ha convalidato queste metriche come un modo efficace per misurare i risultati del processo di distribuzione del software. Ogni anno il team di ricerca DORA pubblica un report completo chiamato Accelerate State of DevOps Report, raccogliendo dati attraverso un sondaggio annuale fatto ai professionisti che lavorano in ruoli tecnici e adiacenti.

Quest’anno circa 3.000 professionisti provenienti da una varietà di settori in tutto il mondo hanno partecipato al sondaggio per aiutare a comprendere meglio i fattori che guidano le organizzazioni ad alte prestazioni e improntate alla tecnologia. I premi DORA delineano le aziende con risultati eccezionali nel settore e SiteGround è orgogliosa di essere riconosciuta tra le organizzazioni più performanti!

Prestazioni di SiteGround sulle metriche DevOps chiave

Secondo l’analisi di DORA sullo stato DevOps rispetto ai 3.000 intervistati nel 2024, sono emersi quattro cluster di aziende, in base alle loro prestazioni di distribuzione del software: Elite, High, Medium e Low.

metriche DevOps chiave
Fonte: 2024 DORA Report

Ecco come SiteGround si colloca in ogni metrica del nostro processo di distribuzione software oggi:

risultati di SiteGround sulle metriche DORA

Frequenza di distribuzione di SiteGround

Misura la frequenza con cui aggiorniamo il nostro software con nuove funzionalità o correzioni. Aggiornamenti frequenti significano che riceverai sempre gli ultimi miglioramenti, funzionalità del prodotto e correzioni.

La nostra attuale frequenza di distribuzione di 6 volte al giorno colloca SiteGround nel gruppo Elite di aziende – tra il 19% di tutti gli intervistati con più distribuzioni al giorno secondo il rapporto DORA per il 2024.

Tasso di errore delle modifiche di SiteGround

Misura la percentuale di aggiornamenti che causano problemi e necessitano una correzione. Una frequenza inferiore significa che i nostri aggiornamenti sono più affidabili, offrendoti un’esperienza più fluida. La nostra percentuale di fallimento delle modifiche è pari a solo lo 0,75% e ci colloca in prima posizione in questa categoria.  Il 5% è considerato un risultato Elite.

Tempo di ripristino della distribuzione non riuscita di SiteGround

Se qualcosa va storto dopo una release o una modifica in produzione, questa metrica mostra la rapidità con cui possiamo risolvere il problema e riportare tutto alla normalità. In SiteGround il nostro tempo di distribuzione non riuscita è eccezionale – solo 8 minuti, dove meno di un’ora è considerata una prestazione Elite.

Tempo di consegna delle modifiche di SiteGround

Questo mostra la rapidità con cui possiamo prendere una nuova idea o una correzione e renderla attiva per il tuo utilizzo. Tempi più rapidi significano che stiamo rispondendo rapidamente alle tue esigenze. Secondo il rapporto DORA per il 2024, il nostro tempo di consegna di 8 giorni ci colloca al limite del gruppo High Performer.

Modernizzare il lavoro di squadra per consentire a milioni di siti di avere successo

Il nostro riconoscimento nella categoria Nurturing Culture of Performance and Innovation è radicato nella sinergia della nostra etica del lavoro che potenzia il team, nella creazione di soluzioni efficaci e nell’approccio proattivo alla tecnologia, che è diventato ancora più forte con il passaggio a Google Cloud Platform per la nostra infrastruttura. Insieme, tutti questi fattori sono il motore principale per noi per lavorare in modo flessibile ed efficiente, modernizzare continuamente i nostri sistemi, adottare e impiegare nuove tecnologie su larga scala.

In SiteGround, abbracciare i principi DORA ci ha aiutato a strutturare molto meglio il nostro ciclo di sviluppo software, migliorare l’efficienza e la qualità del nostro lavoro tra team e monitorare e misurare efficacemente i risultati di questo sforzo mirato. Ciò ha portato in definitiva a ridurre il numero di problemi e interruzioni del servizio, reagendo istantaneamente non solo per risolvere, ma principalmente prevenire gli incidenti e accelerare la distribuzione di nuove funzionalità, che interessano milioni di siti ospitati sulla nostra piattaforma ogni giorno.

L’adozione dei principi chiave di DORA nella nostra cultura lavorativa e nelle nostre operazioni ci ha consentito di espandere rapidamente il nostro portafoglio prodotti, facendoci evolvere da un fornitore di web hosting a una piattaforma di esperienza digitale completa. Ora offriamo prodotti all’avanguardia per consentire ai clienti non solo di mantenere siti ad alte prestazioni, ma anche di costruire una presenza online di maggior successo, tutto sotto lo stesso tetto.

Cosa significa per i nostri clienti?

Vincere il premio Google Cloud DORA non è solo un onore per noi, ma un impegno verso i nostri clienti. Ecco come la nostra attenzione ai principi DORA avvantaggia i clienti di SiteGround:

Aprire la strada all’innovazione

In SiteGround, siamo orgogliosi di essere all’avanguardia nei progressi tecnologici nell’hosting e nelle soluzioni digitali. Il nostro impegno per le distribuzioni frequenti significa che integriamo costantemente le ultime tecnologie e funzionalità nella nostra piattaforma. Il nostro approccio proattivo garantisce che il tuo sito web sia dotato di strumenti all’avanguardia per rimanere competitivo in un mondo digitale in rapida evoluzione.

Risposta rapida e flessibilità

I nostri tempi di consegna ridotti per le modifiche significano che possiamo implementare rapidamente il tuo feedback e adattarci alle nuove richieste del mercato. Che si tratti di una nuova funzionalità che stavi aspettando o di una correzione critica, i nostri processi di sviluppo agili assicurano che le tue esigenze siano soddisfatte prontamente, mantenendo le tue operazioni fluide ed efficienti.

Affidabilità su cui puoi contare

Sappiamo che i tempi di inattività possono avere un impatto significativo sul tuo sito web. Ecco perché la nostra attenzione nel ridurre al minimo i tempi di ripristino dei servizi garantisce che qualsiasi interruzione venga affrontata rapidamente, con un impatto minimo sulle tue operazioni. I nostri sistemi e processi robusti sono progettati per fornirti un servizio affidabile su cui puoi contare.

Qualità e coerenza

Il nostro basso tasso di errore di modifica riflette il nostro impegno nel fornire aggiornamenti di alta qualità. Puoi fidarti che i nostri miglioramenti e le nostre nuove funzionalità miglioreranno la tua esperienza senza causare interruzioni. Questa affidabilità ti consente di concentrarti sulla tua presenza online, sapendo che la tua infrastruttura digitale è in mani sicure.

Potenziare gli obiettivi del cliente e l’innovazione del team

In SiteGround, ci concentriamo sia sui clienti che sul nostro team che ci posiziona come leader del settore. Il tuo successo è il nostro successo e ci impegniamo a fornire i migliori strumenti e servizi per aiutarti a raggiungere i tuoi obiettivi. Vincere il Google Cloud DORA Award sottolinea la nostra leadership e la nostra dedizione nel far crescere persone di talento dietro SiteGround.

PHP 8.3 (Beta 3) è ora disponibile per i test sui server SiteGround

PHP 8.3 beta 3 header

Siamo entusiasti di annunciare che PHP 8.3 (Beta 3) è ora disponibile per i test su tutti i server SiteGround. Ancora una volta, grazie alla nostra esclusiva configurazione server con versioni PHP multiple, siamo in grado di fornire le ultime versioni PHP in modo sicuro a chiunque desideri testarle, quasi immediatamente dopo il rilascio beta ufficiale. Ciò significa che siamo ancora una volta tra le prime aziende ad offrire PHP 8.3 (Beta3) per i test sulla nostra piattaforma di hosting. 🎉🎉🎉

Continua a leggere questo articolo per sapere di più sulle nuove funzionalità dell’ultima versione di PHP

Nuove funzionalità

Esaminiamo alcune delle nuove funzionalità che PHP 8.3 Beta3 porta sul tavolo. Questa versione non sarà caratterizzata da cambiamenti radicali o aggiornamenti importanti, ma introduce alcune funzionalità chiave che potrebbero migliorare in modo significativo l’esperienza di sviluppo PHP.

gc_status() restituisce ulteriori informazioni GC

I daemon e i cron job di lunga durata sono sempre stati una parte debole di PHP in generale. Tuttavia, con PHP 8.3, la funzione gc_status() ora restituisce informazioni aggiuntive sulla garbage collection (GC). Si tratta di un miglioramento significativo per gli sviluppatori che devono gestire l’utilizzo della memoria negli script di lunga esecuzione. Maggiori informazioni su questa funzione possono essere trovate qui.

class_alias() supporta l’alias delle classi PHP integrate

Un’altra caratteristica interessante di PHP 8.3 è la possibilità di creare alias per le classi PHP integrate utilizzando la funzione class_alias(). Ciò consente agli sviluppatori PHP di collegarsi a classi integrate e sovrascrivere classi o dichiarazioni in esse contenute. Questa funzionalità apre un mondo di possibilità per estendere e personalizzare il comportamento delle classi PHP integrate.

Funzione json_validate()

Un’altra interessante aggiunta a PHP 8.3 è la funzione json_validate(). Questa funzione verifica se una stringa contiene JSON valido, fornendo un’alternativa più efficiente alle implementazioni userland che utilizzano json_decode(). La funzione json_decode() genera uno ZVAL (oggetto/array/ecc.) durante l’analisi della stringa, utilizzando memoria ed elaborazione che potrebbero essere salvate. La funzione json_validate() utilizza lo stesso parser JSON che esiste nel core PHP e viene utilizzato da json_decode(), garantendo che ciò che è valido in json_validate() sia valido anche in json_decode().

È possibile trovare il registro delle modifiche con tutte le modifiche al linguaggio e alla libreria in PHP 8.3 in https://wiki.php.net/rfc#php_83 

Come testare PHP 8.3 (Beta3) sui server SiteGround

Ora, con un solo click nel tuo Site Tools > Sviluppatori, puoi sostituire l’attuale versione PHP utilizzata dal tuo sito web con PHP 8.3 (Beta3). È importante sottolineare il fatto che si tratta di PHP 8.3 nella sua versione Beta3. Ciò significa che è disponibile principalmente a scopo di test e come sempre ti consigliamo vivamente di non utilizzarlo nel tuo sito di produzione prima della data di rilascio stabile (23 Novembre 2023). Se vuoi testarlo su un sito esistente, imposta un nuovo sito a scopo di test, clona al suo interno il tuo sito di produzione e provalo lì: il nostro strumento di staging WordPress è perfetto per questo scopo. Quando hai finito, puoi semplicemente eliminarlo.

Mentre esplori il tuo nuovo ambiente di test, controlla i file di registro dopo ogni test. Assicurati che nulla fallisca e controlla se vengono visualizzati nuovi avvisi o errori.

Per concludere

PHP 8.3 Beta3 potrebbe non essere caratterizzato da aggiornamenti importanti, ma introduce una serie di funzionalità chiave che potrebbero migliorare in modo significativo l’esperienza di sviluppo PHP: miglioramenti alle classi di sola lettura, le nuove funzioni gc_status(), class_alias() e json_validate(), miglioramenti alla classe Randomizer aggiunta di recente, il rilevamento dello stack overflow e molto altro ancora. Non è definitivo, ma c’è abbastanza tempo per “giocare” con la nuova versione PHP 8.3 (Beta3) ed esplorare tutte le novità che potrebbe portare prima del rilascio ufficiale.

Ultimo ma non meno importante: ricorda, noi di SiteGround ci impegniamo a fornire ai nostri clienti la tecnologia PHP più recente e migliore rispetto agli altri. Resta sintonizzato per ulteriori aggiornamenti e buona programmazione con PHP 8.3 (Beta3)!

PHP 8.2 disponibile sui server SiteGround

PHP 8.2 SiteGround

Siamo lieti di annunciare che PHP 8.2 è ora considerato stabile ed è stato distribuito su tutti i server SiteGround. Ancora una volta, siamo tra le prime aziende ad averlo già disponibile sulla nostra piattaforma di hosting. Leggi l’articolo qui sotto per saperne di più sulle nuove funzionalità dell’ultima versione di PHP.

È arrivato il momento dell’anno che tutti i buoni sviluppatori PHP stavano aspettando! Babbo (ElePHPant) Natale è arrivato come al solito in anticipo in SiteGround e ha portato tante nuove chicche che rendono più facile per gli sviluppatori lavorare sui loro progetti.

PHP 8.2 è ora stabile e disponibile sui server SiteGround. Diamo un’occhiata ad alcune delle novità in arrivo.

Nuove Funzionalità

Per prima cosa, diamo un’occhiata ad alcune delle nuove funzionalità che saranno maggiormente interessanti per gli sviluppatori PHP. Questo non è un elenco esaustivo delle novità. È più che altro un breve elenco di cose a cui penso che la maggior parte degli sviluppatori PHP sarà interessata.

Classi readonly

In PHP 8.1 abbiamo le proprietà readonly per le classi. Questo è stato un grande balzo in avanti per molti progetti. Tuttavia, c’è ancora un piccolo buco che doveva essere tappato, le classi. Sì, puoi rendere ogni proprietà digitata in una classe di sola lettura e sei a posto, ma onestamente questo richiede un sacco di scrittura e molti come me sono abbastanza pigri. Con PHP 8.2 possiamo invece contrassegnare un’intera classe come readonly.

readonly class MyClass {
    public int $myProp;
    public string $myOtherProp;
    public __construct(string $myOtherProp, int $myProp) 
    {
        $this->myProp = $myProp;
        $this->myOtherProp = $myOtherProp;
    }
}

Qui abbiamo una classe definita come readonly. Abbiamo 2 proprietà della classe ed entrambe sono intrinsecamente readonly. Si applicano ancora le regole di sola lettura di PHP 8.1 ed è possibile inizializzare la proprietà solo una volta, dopodiché è stata impostata.

$myObj = new MyClass(‘Cal era qui’,42);

Tuttavia, una volta inizializzate, ora sono immutabili.

$myObj->myProp = ‘Cal non è più qui’;

// Fatal Error: Uncaught Error: Cannot modify readonly property MyClass::myProp

Un altro comportamento della classe readonly è che le proprietà non possono mai essere aggiunte dinamicamente alla classe. Di seguito parliamo della deprecazione delle proprietà dinamiche e di come questa sia una buona cosa. C’è anche un’annotazione che ti consente di ignorarla. Tuttavia, se si contrassegna una classe come readonly, non è possibile sovrascriverla.

Costanti nei Traits

I Traits sono con noi da PHP 5.4. Sono stati a lungo la risposta alla “composizione sull’eredità”. Ora i traits stanno ottenendo una nuova interessante funzionalità, la capacità di definire le costanti in un trait.

trait MyTrait {

    private const MY_CONSTANT = 42;

}

Ora, se il tuo trait utilizza una costante, puoi definirlo nel trait e non devi ricordarti di definirlo in ogni classe che utilizza il trait.

trait MyTrait {

    private const MY_CONSTANT = 42;

    public function meaningOfLife() : int

    {

        return self::MY_CONSTANT;

    }

}

class MyClass {

    use MyTrait;

}

$myObj = new MyClass();

echo $myObj->meaningOfLife(); // prints 42

Come ogni cosa nella vita, ci sono alcune regole.

I trait possono definire costanti di classe. Se una classe utilizza quel trait, può anche definire la stessa costante di classe purché sia ​​la visibilità sia il valore siano esattamente gli stessi. Quindi l’esempio sopra funziona ma quello sotto riporterà un errore irreversibile.

trait MyTrait {

    private const MY_CONSTANT = 42;

    public function meaningOfLife() : int

    {

        return self::MY_CONSTANT;

    }

}

class MyClass {

    use MyTrait;

    public const MY_CONSTANT = 42;

}

Eppure, anche con le regole che devi seguire, questo è un vero passo avanti. I traits sono un ottimo modo per condividere il codice tra le classi e ora sono ancora più autonomi.

Estensione casuale 5.x + Miglioramento dell’estensione casuale

Il generatore di numeri casuali di PHP originale è ancora nel codice di base. Non è mai stato fantastico ed è assolutamente inutile per usi crittografici. Con PHP 7, abbiamo avuto un paio di nuove funzioni, random_int() e random_bytes(). Hanno fatto molto per risolvere i problemi, ma sotto il cofano sono solo interfacce per il generatore di numeri casuali del sistema operativo nativo. All’epoca questa era una buona soluzione, ma il problema è che è lenta.

Ora con PHP 8.2 non solo otteniamo un generatore di numeri casuali completamente nuovo, ma è integrato in PHP e otteniamo un’interfaccia orientata agli oggetti estensibile.

Si tratta in realtà di due diverse RFC che sto raggruppando insieme. Dopo che il primo “Random Extension 5.x” è stato votato e approvato, si è scoperto che c’erano alcuni problemi con esso. Una seconda RFC, “Random Extension Improvement”, è stata preparata e votata per risolvere i problemi riscontrati con la prima.

Il risultato finale è un nuovo insieme di classi che ci danno numeri pseudo-casuali migliori in PHP.

Mentre stiamo effettivamente ottenendo diversi nuovi generatori di numeri casuali (RNG), per semplicità discuterò la nuova classe Random\Engine\Secure.

$engine = new Random\Engine\Secure();

$randomString = $engine->generate(); // a random binary string

echo bin2hex($randomString); 

Ora, se vogliamo fare qualcosa come ordinare un array, abbiamo bisogno di uno dei nuovi oggetti Randomizer.

$randomizer = new Random\Randomizer($engine);

$items = range(1, 10);

$randomizedItems = $randomizer->shuffleArray($items);

print_r($randomizedItems);

Nell’esempio sopra, abbiamo usato l’engine Secure. L’engine Secure non accetta un seme (seed) e genererà sempre una stringa non riproducibile. I motori che ti consentono di specificare un seme produrranno gli stessi risultati ogni volta se utilizzi lo stesso seme.

La classe Randomizer fornisce anche molti altri metodi che sono davvero ciò che gli sviluppatori PHP stanno cercando.

  • getInt() : int
    Questa rimpiazza la vecchia funzione mt_rand()
  • getInt(int $min, int $max) : int
    Questa rimpiazza la vecchia funzione mt_rand() e quella nuova random_int()
  • getBytes(int length): string
    Questa rimpiazza la funzione random_bytes() 
  • shuffleArray(array $array): array
    Questa rimpiazza la vecchia funzione shuffle_array()
  • shuffleString(string $string): string
    Questa rimpiazza la vecchia funzione str_shuffle()

Tra le altre cose, poiché questo porta tutte le funzionalità di randomizzazione in un’unica area del motore, snellisce il codice principale e renderà più semplici ulteriori miglioramenti.

Grazie di tutto e passiamo oltre

Tutte le cose buone hanno una fine e questo include alcune funzionalità e comandi di PHP. Diamo un’occhiata ad un paio di importanti deprecazioni che, se non stai attento, finiranno per causarti problemi.

Deprecazione delle proprietà dinamiche

A prima vista, questo sembra che sarà un grosso problema. Poiché PHP ha ottenuto il modello a oggetti corrente, è stato possibile aggiungere proprietà a un oggetto ogni volta che lo desideri. Ora qualcuno pensa che questo comportamento sia una cosa negativa. (SUGGERIMENTO: è sempre stata una brutta cosa, ma molti sviluppatori ne hanno approfittato.)

class MyClass {

    public string $name;

}

$myObj = new MyClass():

$myObj->nmae = ‘Cal Evans’;

Si noti che ho sbagliato a scrivere il nome della proprietà. So di essere probabilmente l’unico sviluppatore che ha sbagliato a scrivere il nome di una proprietà, ma in PHP quando succede, ottengo una nuova proprietà sull’oggetto e la proprietà originale rimane invariata. Non era mia intenzione.

A partire da PHP 8.2, questo emetterà un AVVISO DEPRECATO.

Ci sono 3 eccezioni a questa nuova regola.

  • Qualsiasi istanza di StdClass sarà comunque in grado di accettare proprietà dinamiche.
  • Qualsiasi classe con i metodi magic __get() e __set() accetterà comunque qualsiasi proprietà.
  • Qualsiasi classe con l’annotazione del compilatore #[AllowDynamicProperties] e qualsiasi classe figlia consentirà di impostare le proprietà dinamiche.

Quindi, sebbene non tutto sia perduto per coloro che dipendono da questa “caratteristica” di PHP, se lo utilizzerai ancora, dovrai apportare alcune modifiche al tuo codice.

La buona notizia è che tutto ciò che accadrà in questo momento è l’avviso emesso nei file di registro. Quindi, mentre potrebbe riempire i tuoi file di registro ricordandoti che devi risolvere questo problema, PHP 8.2 non interromperà il tuo codice. Ciò accadrà in PHP 9.0 quando l’avviso – e la possibilità di aggiungere automaticamente proprietà dinamiche – verrà rimosso da PHP.

(Parziale) Deprecazione dell’interpolazione di stringa ${}

Questo è un altro cambiamento che pensavo sarebbe stato un grosso problema. Si è scoperto che probabilmente non influenzerà molti sviluppatori.

Esistono 4 modi per implementare la sintassi “{$variableName}”, 2 che hanno senso e due che non lo hanno. Vediamoli insieme:

echo “$sensoDellaVita”;

Questa è di gran lunga la versione più comune dell’interpolazione di stringhe. Metti semplicemente la variabile in una stringa tra virgolette. Se stai facendo questo, sei a posto, e ci sono due modi.

echo “{sensoDellaVita}”;

echo “{$dogulasAdams->sensoDellaVita()}”;

L’ho sempre considerata “vecchia scuola”. Non lo facevo in questo modo da molto tempo. Funziona ancora, è pulito ed è facile da capire.

Questo è anche l’unico metodo che consente di utilizzare le proprietà e i metodi degli oggetti. Quindi, se vuoi usare l’interpolazione di stringhe con un oggetto, avrai bisogno di questo metodo.

echo “${sensoDellaVita}”;

Questo sopra invece sarà deprecato. Sì, fa la stessa cosa dei primi due, ma è un po’ più confuso perché $ è fuori dalle parentesi graffe.

$quarantaDue = 42;

$sensoDellaVita = ‘quarantaDue’;

echo “${sensoDellaVita}”;

Infine, abbiamo il modo in cui puoi usare “variabili” dall’interpolazione di stringhe. Questo è solo troppi livelli di indirizzamento. Nel codice sopra, alla fine arriviamo al punto in cui “echeggiamo” 42, ma prendiamo la strada più lunga.

A partire da PHP 8.2, le ultime due strutture emetteranno un AVVISO DI DEPRECAZIONE nei file di registro. In PHP 9.0, smetteranno del tutto di funzionare e causeranno l’arresto anomalo del programma (o lanceranno un errore che puoi intercettare, ma probabilmente non puoi recuperare).

Ricapitoliamo

Questa è la prima Release Candidate di PHP 8.2. Non giocarci su nessun sito in produzione. Se vuoi testarla con un sito esistente, imposta un nuovo sito per il test, clona il tuo sito di produzione in esso e gioca con quello. Quando hai finito, puoi semplicemente eliminarlo.

Mentre ti curi nel tuo nuovo ambiente di test, controlla i file di registro dopo ogni test. Assicurati che non ci siano errori e verifica se vengono visualizzati nuovi avvisi.

Se PHP 8.2 è qualcosa di simile a PHP 8.0 e PHP 8.1, non mi aspetto che il codice PHP moderno abbia problemi con esso. Per fortuna, i tecnici di SiteGround ti rendono incredibilmente facile testare le cose per assicurarti che il tuo sito possa funzionare il più velocemente possibile con PHP 8.2

A proposito di prestazioni, PHP 8.2 non è stato ancora adeguatamente valutato, ma ci aspettiamo che ogni versione di PHP sia un po’ più veloce delle versioni precedenti. Con le modifiche al sistema CSPRNG e altre cose come la rimozione del vecchio libmysql, è una scommessa sicura che questa versione sarà più veloce di PHP 8.1.

Mentre stai testando, clonando e osservando i risultati, assicurati di dedicare del tempo a twittare un enorme GRAZIE a tutte le persone che hanno reso possibile questa versione. Fai sentire il tuo affetto su twitter.com/@php_net

Abbiamo aumentato il limite di memoria predefinito di WordPress per i clienti SiteGround

limite di memoria predefinito di WordPress

In SiteGround ci impegniamo costantemente per rendere la gestione dei siti dei nostri clienti semplice e senza problemi. Questo è particolarmente vero per i siti WordPress, essendo stati noi uno dei primi hosting a offrire servizi gestiti per WordPress, permettendo ai clienti di risparmiare tantissimo lavoro manuale e diverse seccature. L’impegno extra che ci mettiamo è sempre stato costante nel corso degli anni è abbinato a una forte dedizione del nostro team nello sviluppo di progetti legati a WordPress. 

Di recente, abbiamo ricevuto sempre più richieste da parte dei clienti di aumentare i limiti di memoria WP predefiniti, una richiesta rafforzata da una nuova discussione all’interno della Community di WordPress in merito all’aumento del limite di memoria di default del software, poiché i valori attuali sono obsoleti e non più adatti alle necessità di oggi. Essendo dei fanatici dell’efficienza delle risorse, abbiamo deciso di aumentare i valori predefiniti a livello di piattaforma e offrire una soluzione globale per tutti gli utenti WordPress nel nostro hosting.

Perché è necessario aumentare i limiti della memoria WP?

L’ecosistema WordPress (includendo i temi di WordPress, i plugin e il software stesso) è in costante evoluzione e crescita e, di conseguenza, ha sempre più bisogno di risorse. I site builder, i negozi online, gli e-learning, etc. diventano sempre più complessi e pesanti con il tempo e richiedono anche più risorse per funzionare correttamente. Se hai la memoria impostata è insufficiente, possono subentrare problemi con il salvataggio delle pagine (poiché WordPress non ha memoria sufficiente per salvare il contenuto della pagina nel database). Questo può anche essere causa di messaggi di errore critici o errori di memoria esaurita nel tuo sito WordPress.

Gli attuali limiti di memoria predefiniti di WordPress sono 40 МВ per WP e 64 per WPMU – mentre molti nuovi plugin e temi richiedono un minimo di 128 MB di memoria per funzionare correttamente (e la maggior parte di essi consiglia 256 MB, se possibile). Ci siamo sempre assicurati di fornire molte risorse di hosting per i nostri clienti, ma sfortunatamente, il modo in cui le impostazioni predefinite dell’applicazione sono impostate per funzionare, gioca un ruolo importante nell’utilizzo efficiente delle risorse che forniamo. Ad esempio, l’attuale PHP Memory Limit nei server in SiteGround è di 768 MB, quindi consente sicuramente un limite di memoria WP più elevato.

Attualmente, se stai utilizzando un plugin più pesante e hai bisogno di un limite di memoria WordPress più alto, devi contattare il tuo hosting provider e richiederlo, oppure devi farlo manualmente da solo. Ma è una seccatura.

Ecco perché abbiamo deciso di sovrascrivere le impostazioni di memoria predefinite di WordPress per i clienti SiteGround, aumentandole a 256 M dai 40 МВ di default per WP e 64 per WPMU. Ecco come abbiamo fatto:

Tutte le nuove installazioni di WordPress su SiteGround ora avranno un limite di memoria più alto 

Abbiamo iniziato includendo un nuovo file di configurazione personalizzato che sovrascrive e aggiorna automaticamente il limite di memoria predefinito per tutte le nostre nuove installazioni di WordPress sul Site Tools di SiteGround. In questo modo tutte le nuove istanze di WordPress nei nostri server otterranno un vantaggio sin dal momento dell’installazione. Lo stesso vale per tutti i nuovi siti WordPress trasferiti da altri hosting, tramite il nostro plugin gratuito per la migrazione.

Tutte le istanze WP esistenti verranno gradualmente aggiornate alle nuove istanze predefinite

La situazione per i nostri clienti che hanno siti WordPress era invece un po’ più complicata da affrontare, dal momento che dovevamo tenere in considerazione che alcuni di loro potevano aver già impostato un limite di memoria WordPress personalizzato per le proprie applicazioni. Quindi non sovrascriveremo alcun limite di memoria WordPress personalizzato che i nostri clienti potrebbero aver già impostato.

Dal momento che facciamo sempre dei test, seguiti da controlli e da test ulteriori, prima di passare al rilascio di un servizio, abbiamo deciso d’iniziare ad aggiornare gradualmente, server per server, il limite di memoria predefinito di WordPress. In questo modo potremo monitorare ed eseguire controlli d’integrità per ciascuno server.

NB! Se hai installato WordPress manualmente nel tuo account e non l’hai aggiunto come sito esistente nel Site Tools, il nostro sistema non ha modo di sapere che lo stai utilizzando e il tuo limite predefinito di WordPress non verrà aggiornato. Dovrai farlo manualmente da solo, se necessario.

Ecco perché ti consigliamo vivamente di utilizzare il nostro programma d’installazione di WordPress ogni volta che avvii nuovi siti WP e WordPress Migrator quando esegui il trasferimento di un sito verso di noi. In questo modo potrai sfruttare appieno i nostri migliori servizi di hosting per WordPress gestito e i numerosi miglioramenti che continuiamo a implementare.

Come puoi controllare il limite di memoria di WordPress?

Per controllare l’attuale limite di memoria di WP della tua installazione puoi accedere a WP-admin e andare in Strumenti > Salute del sito. Quindi seleziona “Informazioni” e clicca su “Costanti di WordPress“. Cerca WP_MEMORY_LIMIT: questo è il limite di memoria per il sito che desideri controllare.

Passaggio a PHP 7.4 e interruzione di alcune vecchie versioni

PHP 7.4

Gran parte del nostro servizio consiste nel mantenere aggiornato, sicuro e veloce il software lato server e lato client. Uno degli elementi chiave del nostro stack server è il linguaggio di programmazione PHP, che è un prerequisito per il funzionamento della maggior parte dei siti web. PHP è un linguaggio estremamente diffuso e ben supportato e, come ogni software, il suo sviluppo prevede il rilascio continuo di nuove versioni. Le versioni aggiornate introducono nuove funzionalità e importanti miglioramenti delle prestazioni e della sicurezza. In qualità di hosting provider, teniamo traccia di come si evolve ogni versione di PHP, in particolare della velocità con cui viene adottata dai principali sviluppatori di applicazioni e cerchiamo di garantire che i nostri clienti ottengano tutti i vantaggi possibili dalle versioni più recenti.

Passaggio a PHP 7.4 come versione di default sul server

A partire da Giugno 2021, la versione predefinita sui nostri server diventerà PHP 7.4. Ciò significa che tutti i nuovi siti utilizzeranno 7.4, a meno che non vengano passati manualmente a una versione differente. PHP 7.4 è in circolazione da più di 2 anni ed è già diventato ampiamente compatibile con diversi CMS, mentre PHP 7.3 non è più supportato attivamente ed entro la fine dell’anno verrà rimosso anche il supporto della sicurezza.

Mantenere la versione di PHP aggiornata presenta diversi vantaggi in termini di prestazioni e sicurezza ed è per questo che passeremo a PHP 7.4.

Tutti i siti che utilizzano il nostro servizio PHP gestito verranno aggiornati a PHP 7.4 nel periodo 10-21 Giugno 2021. PHP 7.3 sarà ancora disponibile sui nostri server e potrà essere impostato manualmente dai nostri clienti sul Site Tools > Sviluppatori > Gestione PHP.

Interruzione del supporto per 7.2, 7.1, 7.0, 5.6 e versioni precedenti alla fine dell’anno

Allo stesso tempo, il supporto per la sicurezza di tutte le versioni PHP precedenti alla 7.3 è ufficialmente terminato da un po’ di tempo e, visti gli exploit che trapelano di tanto in tanto, riteniamo che il rischio di utilizzarle sia sempre maggiore. Inoltre, le prestazioni dei siti che utilizzano vecchie versioni di PHP sono notevolmente inferiori rispetto ai siti che utilizzano le versioni recenti. Ecco perché interromperemo il supporto delle versioni PHP 7.2, 7.1, 7.0, 5.6 (e precedenti) sui nostri server. Dopo il 21 Giugno 2021 aggiorneremo gradualmente a PHP 7.4 i siti che utilizzano le vecchie versioni. Le versioni PHP precedenti alla 7.3 non saranno più supportate sui nostri server dopo il 31 Dicembre 2021.

[subscribe_cta]

Cosa fare se si utilizza una vecchia versione di PHP?

Questo aggiornamento PHP interesserà molti siti sulla nostra piattaforma. Ecco perché abbiamo iniziato a comunicare l’aggiornamento un mese fa e ti invitiamo caldamente a valutare l’effetto che l’aggiornamento a PHP 7.4 avrà sul tuo sito, utilizzando questo strumento:

tuo-dominio.com/.well-known/sg-php-try-v74

Per vedere se un sito funzionerà correttamente dopo l’aggiornamento, digita l’URL sopra indicato utilizzando il tuo dominio e naviga attraverso il sito, i suoi sottodomini (se presenti) e l’area di amministrazione. Se qualcosa non appare o non si comporta come previsto, ti consigliamo vivamente di esaminare ulteriormente la compatibilità del tuo sito con PHP 7.4 e risolvere eventuali problemi prima dell’aggiornamento. Se la soluzione è più complessa o se il problema è altrove, contatta uno sviluppatore per avere assistenza.

Nota: aprendo il tuo sito tramite il link sopra indicato, navigherai utilizzando PHP 7.4. Questa modifica influisce SOLO sulla sessione corrente del browser. Tutti gli altri visitatori continueranno ad accedere al tuo sito con la sua attuale versione PHP. Per interrompere la modalità di navigazione per il controllo di compatibilità nel tuo browser, chiudi il browser e accedi nuovamente al tuo sito tramite il suo URL standard.

Caso speciale di Magento: i siti che utilizzano Magento 2.3.6 o versioni precedenti non sono compatibili con PHP 7.4. Ecco perché, se hai un sito di questo tipo, ti consigliamo vivamente di aggiornarlo a Magento 2.3.7 il prima possibile, in modo che sia compatibile con PHP 7.4.

Siamo consapevoli che i siti che attualmente utilizzano la versione PHP 7.2 o precedente potrebbero richiedere più tempo per correggere possibili incompatibilità con PHP 7.4. Per questo motivo, nei giorni scorsi, ai proprietari di questi siti è stato fornito via email un link per l’eventuale rinuncia all’aggiornamento. Rinunciando all’aggiornamento tramite questo link, i clienti confermano che non desiderano passare alla nuova versione di PHP, ma sono consapevoli che le vecchie versioni smetteranno comunque di funzionare dopo il 31 Dicembre 2021.

Per i clienti che utilizzano PHP 7.3, consigliamo di non posticipare l’aggiornamento di PHP ma, nel caso lo desiderassero, possono passare alla gestione manuale della versione PHP fino a quando il loro sito non sarà pronto per PHP 7.4.

Non vedo l’ora di vedere siti più sicuri e molto più veloci dopo l’aggiornamento!

Piping: utilizzare l’email per aggiungere contenuti al tuo sito

Email_piping_blog_post2

Una delle cose divertenti da fare con i computer è pensare fuori dagli schemi, usare strumenti per cose per cui non sono stati progettati. L’email è uno dei miei giocattoli preferiti con cui cimentarmi. L’email è universale e tutti la usano.

Cosa possiamo far fare all’email che non fa già normalmente? La posta elettronica è un sistema di consegna, quindi possiamo usarla non solo per fornire dati di qualche tipo, ma anche per attivare eventi che inducono un computer da qualche parte a fare qualcosa per noi. Se necessario, l’email può anche rimandarti indietro una risposta.

Agli albori del Web, esistevano indirizzi email a cui potevi inviare un messaggio con un URL nel corpo. Questo URL veniva recuperato dalla mail e ti veniva mandata indietro una risposta. Siccome l’email è stata inventata prima dei browser, c’è stato un tempo in cui le persone avevano la posta elettronica ma non il browser per accedere al web. Quindi l’email era un ottimo modo per accedere al web prima dell’avvento dei browser. Il rovescio della medaglia era che la maggior parte delle email a quel tempo non supportava le immagini, ma andava bene lo stesso perché quasi nessuna pagina web aveva immagini. 🙂

Io più volte ho utilizzato la posta per fornire dati e attivare processi di elaborazione. L’anno scorso ad esempio, per la festa della mamma, ho creato cornici digitali di mia madre e mia suocera basate su Raspberry Pis. La gestione dei media front-end per questi frame è stata fatta con un sito WordPress. Questo mi ha fornito una comoda API per inviare immagini. Il problema è che i miei fratelli non sono programmatori, quindi avevo bisogno di un modo semplice per inviare immagini a questi frame. L’email è stata la soluzione più semplice.

Ho creato un sistema che permette di inviare una foto tramite posta elettronica. Ogni cornice digitale ha un indirizzo email a cui poter inviare immagini. Mentre WordPress gestisce tutta la gestione degli utenti e l’elaborazione delle immagini, il sistema di posta di SiteGround mi consente di realizzare tutto questo.

Il modo per farlo è chiamato Piping che significa “trasportare”. In questo caso si parla del contenuto di un’email che viene trasportato a un programma di tua scelta.

Mi fermo qui e ti dico in anticipo che se non sei un programmatore o almeno un utente molto tecnico, questo non fa per te. I programmatori possono scrivere programmi (come ho fatto io) per prendere l’input ed elaborarlo. Gli utenti più tecnici possono essere in grado di installare programmi, sul proprio server, che accetteranno l’input e faranno qualcosa con esso. Se non fai parte di uno di questi due gruppi, ti suggerisco di cercare un programmatore di cui ti fidi e assumerlo per aiutarti a farlo.

[subscribe_cta]

Con SiteGround il processo è piuttosto semplice. Per prima cosa crei un indirizzo email, quindi crei un filtro per quell’indirizzo email.

Nel mio caso, ho creato un indirizzo tipo fotodellamamma@esempio.com nel mio Site Tools.

Quindi sono passato ai filtri e ho creato un filtro per fotodellamamma@esempio.com.

  1. Gli ho dato un nome che potevo riconoscere, “Trasporta immagini al frame di mia madre”
  2. Ho impostato le condizioni adeguate. Volevo che questo filtro si attivasse ogni volta che un’email arrivava a fotodellamamma@esempio.com. Quindi l’ho impostato su:

    a) IF ANY
    E poi, l’ho impostato per attivarsi sull’indirizzo email A

    b) A simili fotodellamamma@esempio.com
  3. Infine, l’ho impostato per eseguire azioni. In questo caso, eseguo 2 azioni:

    a) Trasporta a un programma

    Qui è dove devi essere un programmatore. Ho scritto il programma necessario per elaborare le email e l’ho caricato sul mio sito SiteGround. Devo conoscere il percorso esatto e il nome del programma affinché funzioni. Anche un buon programmatore dovrà fare qualche prova per farlo bene. Tuttavia, una volta fatto, sarà facile farlo di nuovo.

    b) Elimina messaggio

    Ricordi che la prima cosa che ho fatto è stata creare un vero indirizzo email? Ciò significa che, a meno che non faccia qualcosa, le email verranno effettivamente archiviate per questo indirizzo. Dal momento che non ho mai intenzione di accedere al server di posta elettronica per visualizzarle, desidero che ogni singola email in arrivo a fotodellamamma@esempio.com sia gettata dopo averla consegnata al mio script per l’elaborazione. Se volessi archiviare le email per un utilizzo futuro, non imposterei questa azione.

Questo è tutto. Supponendo che tu abbia un programma a portata di mano che accetta il contenuto di un’email e fa qualcosa di conseguenza, ora puoi attivarlo utilizzando facendo un Piping con SiteGround.

Una volta compreso il potere di inviare messaggi di posta ai programmi, le possibilità sono infinite. L’esempio che ho descritto è semplice ma non è l’unico. Poiché la posta elettronica è onnipresente e disponibile su quasi tutte le piattaforme, puoi aprire un mondo completamente nuovo di elaborazione e interazioni per i tuoi utenti.

Attenzione però: tieni presente che la posta elettronica non è mai troppo sicura. Devi mantenere sicurezza nelle tue applicazioni per assicurarti che solo gli utenti che desideri possano interagire con il tuo sistema. Il modo più semplice per farlo è controllare il mittente dell’email. Questo non ti darà la sicurezza piena, ma è sicuramente uno dei controlli che consiglio di fare.

Che cosa è un CRON e per cosa puoi utilizzarlo?

WP_Cron_blog-post-1200x600

“Che diavolo è un cron?” Ricevo questa domanda almeno una volta al mese da non chi non è uno sviluppatore. In effetti è un’ottima domanda. Tuttavia la devo dividere in due:

  • Cos’è un CRON? 
  • Cos’è WP-CRON?

Cos’è un CRON?

Fondamentalmente, un cron è un pianificatore basato sul tempo. Gestisce le attività che devono essere eseguite su base regolare in un momento specifico. Ad esempio, se vuoi che il tuo blog WordPress mostri le previsioni del tempo nell’intestazione, ogni mattina devi andare a cercarle e inserirle. Ovviamente puoi chiedere a qualcuno di accedere ogni mattina, andare a prendere le previsioni e incollarle in un widget, ma una strategia migliore è avere un programma che lo fa per te. Questo viene eseguito ogni mattina e parla con un’API per recuperare le previsioni del giorno e aggiornare il database. Il programma che esegue quel programma che la mattina ti recupera il meteo è chiamato CRON. Il nome deriva da “cronologico” per dare l’idea di un programma che gestisce le cose “in ordine di tempo”.

La maggior parte dei sistemi oggigiorno hanno il concept di un cron. I sistemi basati su Unix (Unix, Linux, macOS, etc.) hanno una versione di cron tradizionale e anche se alcuni ci disegnano intorno una bella interfaccia grafica, tutto si riduce a un programma chiamato cron e a un file chiamato crontab.

Il programma cron è sempre in esecuzione in background e ogni minuto dà uno sguardo al crontab e capisce se è necessario fare qualcosa.

Il file crontab contiene le informazioni su quando un programma deve essere eseguito e quale programma deve essere eseguito. Ogni riga rappresenta un’attività diversa. Assomiglia a questo.

1 0 * * * ~/fetchForcast.sh

Anche se può sembrare complicato, tutto ciò che dice al cron è che alle 00:01 ogni giorno deve eseguire un programma chiamato fetchForcast.sh. Ecco una semplice guida alla lettura di un crontab.

# ┌───────────── minuti (0 – 59)

# │ ┌───────────── ore (0 – 23)

# │ │ ┌───────────── giorni del mese (1 – 31)

# │ │ │ ┌───────────── mese (1 – 12)

# │ │ │ │ ┌───────────── giorni della settimana (0 – 6) (da Sabato a Domenica;

# │ │ │ │ │                                   7 è Domenica in alcuni sistemi)

# │ │ │ │ │

# │ │ │ │ │

# * * * * * <comando da eseguire>

  1 0 * * * ~/fetchForcast.sh

Ora che hai la chiave di lettura, è più facile, no?! Questo è davvero tutto ciò che c’è da fare con un cron tradizionale. La maggior parte dei provider come SiteGround ti consente di accedere ai cron per il tuo sistema. A volte devi modificare manualmente il crontab, ma molti provider hanno un’interfaccia più semplice da usare. In ogni caso, hai la possibilità di eseguire programmi in un momento specifico e su base regolare.

Cos’è WP-CRON?

Come la maggior parte delle cose, WordPress fa le cose in modo leggermente diverso. Poiché molti creatori di plugin devono essere in grado di programmare che le cose accadano regolarmente e poiché molti proprietari di siti WordPress non sanno dove si trova il loro crontab, tanto meno come modificarlo, WordPress ha reinventato il cron.

Fondamentalmente, WP-CRON si comporta come un cron tradizionale in quanto uno sviluppatore può “programmare” un’attività da svolgere su base regolare. Tuttavia, a differenza di un cron tradizionale, WordPress non ha un programma che è sempre in esecuzione in background sul tuo server. WP-CRON è un processo che viene chiamato ogni volta che viene visualizzata una pagina, quindi su siti con tante visite funziona bene. Tuttavia, se il tuo sito non è molto movimentato, un’attività pianificata per le 2:00 potrebbe essere eseguita alle 5:24 se nessuno visita il tuo sito fino a quel momento. A volte va bene, altre volte questo è un problema.

Se le attività che devi eseguire sono sensibili al tempo e devono essere eseguite all’orario pianificato, WP-CRON non è il pianificatore che fa per te. Se, d’altra parte, le attività che devi svolgere possono essere eseguite “intorno” all’orario in cui le pianifichi, allora WP-CRON va bene. Molto dipende da quanto è visitato il tuo sito.

[subscribe_cta]

Quali sono le alternative?

Se hai attività che dipendono dal tempo e il tuo provider non ti consente l’accesso al cron del sistema, hai 2 alternative. Puoi passare a un provider come SiteGround che ti dà questo accesso. Oppure, se questo non è possibile, esistono diversi servizi cron gratuiti o a pagamento. Essi eseguono cron e puoi impostare un cron job da eseguire tramite una bella interfaccia web. Il cron job usa un programma come `curl` o` wget` (pensali come browser headless) che chiama gli URL sul tuo sito per attivare un’attività specifica.

La maggior parte dei plugin che richiedono un cron ti forniranno l’URL da “chiamare” se desideri utilizzare un cron esterno. Tutto quello che devi fare è incollare l’URL, impostare il tempo dell’esecuzione e il gioco è fatto.

CRON è uno strumento prezioso e una volta capito come lavorarci, ne troverai diversi usi. Se utilizzi dei plugin, posso quasi garantire che sul tuo sito siano in esecuzione wp-cron job. Se sei curioso, vai nella repository dei plugin WordPress e cerca cron. Ci sono plugin che puoi installare che ti mostreranno tutte le attività di WP-CRON sul tuo sito. Stai molto attento però. I plugin impostano i cron sempre per un motivo. Se decidi di eliminarli, il plugin che dipende dal cron job smetterà di funzionare.

PHP 8 disponibile sui nostri server

PHP 8 disponibile

Siamo lieti di annunciare che abbiamo rilasciato la release candidate di PHP 8 su tutti i nostri server. Come sempre siamo tra le prime aziende al mondo a fornire la nuova versione PHP sulla nostra piattaforma di hosting. PHP 8 dovrebbe aiutare gli sviluppatori a scrivere un codice più pulito e con una migliore qualità, in modo che venga eseguito più velocemente. Poiché la release candidate non è adatta per i siti online, ti invitiamo a provarlo su una copia di staging del tuo sito o su progetti che non sono ancora live. Regaleremo dei fantastici elefanti PHP agli utenti che condivideranno con noi la loro opinione su PHP 8.

Cosa c’è di nuovo con PHP 8?

Esecuzione del codice più veloce

L’ultima versione di PHP porta molte novità, ma quella che riteniamo più importante è JIT (compilatore just in time). È la prima volta che una versione PHP ha un compilatore JIT capace di memorizzare nella cache una versione del codice già interpretato e generare un linguaggio macchina come output (il linguaggio macchina è attivo solo con 0 e 1). Il compilatore just in time promette miglioramenti della velocità per task e algoritmi complessi e apre nuove opportunità per il linguaggio PHP, ampliando la sua portata e le sue applicazioni.

Alcuni di voi potrebbero chiedersi: in che modo JIT si relaziona con Opcache, visto che questo è alla base dei miglioramenti delle prestazioni di molti siti? Il compito principale di Opcache è tagliare i processi di tokenizzazione, analisi e compilazione di Opcode, che poi vengono elaborati dal motore Zend. Il ruolo di JIT è quello di risparmiare sull’esecuzione degli Opcode, quindi unisce le forze con quest’ultimo e interviene per risparmiare risorse dove Opcache non può.

Vale la pena menzionare anche alcuni aspetti negativi che abbiamo notato finora:

  • L’esecuzione di PHP 8 con JIT potrebbe rendere più difficile la risoluzione degli errori di codice perché potrebbe essere più difficile individuare quale parte del codice è effettivamente la colpevole.
  • Se hai un sito WordPress, potresti non essere notare miglioramenti significativi delle prestazioni utilizzando JIT. Gli sviluppatori di WordPress stanno ancora lavorando per rendere WP compatibile con PHP 8 e stanno ora facendo dei test, il che significa che non sarai in grado di testare PHP 8 sul tuo sito WP da subito. Inoltre, a causa del modo in cui WordPress interagisce con MySQL, gran parte del tempo di attesa non deriva dalla compilazione PHP, ma dal tempo di risposta di MySQL, che non può essere risolto con l’aiuto del compilatore JIT.

Codice con qualità superiore

Una delle principali differenze che noterai è che molti degli avvisi e delle notifiche che non erano rilevabili ora sono eccezioni o errori che possono essere rilevati e registrati. È possibile che a causa di questo cambiamento, molti problemi che erano rimasti nascosti con le precedenti versioni di PHP, vengano a galla solo ora. Questo è un grande miglioramento, poiché consentirà agli sviluppatori di individuare più facilmente potenziali problemi. Tuttavia, tieni presente che potrebbe essere una buona idea impostare display_errors=Off se decidi di utilizzare PHP 8 su un sito live, in modo da non mostrare quegli errori ai visitatori del tuo sito.

Codice più pulito e più breve

Alcuni dei nuovi elementi, come l’operatore nullsafe, migliorano notevolmente la leggibilità del codice rendendolo più breve e ordinato. Invece di annidare diversi “if”, puoi utilizzare l’operatore “null” per scriverli tutti in una sola riga di codice.

Il trend “Type”

Da diverse versioni PHP sta cercando di definire gli “arguments” che ogni metodo può adottare e diventare un linguaggio più standardizzato. In questa ultima versione, è presente una funzionalità chiamata “union types” che consente di definire 2 tipi di valore per ciascuna funzione, che è una naturale continuazione di quel trend. Come mostra l’esempio seguente, la funzione può restituire un numero intero o un float:

public function getNumber(): int|float {
return $this->number;
}

L’elenco delle nuove funzionalità è ancora lungo e suggeriamo questi articoli come punto di riferimento per gli sviluppatori PHP:

https://stitcher.io/blog/new-in-php-8
https://stitcher.io/blog/php-jit
https://wiki.php.net/rfc/nullsafe_operator

[subscribe_cta]

Come trarre vantaggio da PHP 8 sulla nostra piattaforma?

Tutti i nostri clienti possono modificare la versione PHP dei loro siti dal loro pannello di controllo – Site Tools > Sviluppo o cPanel> Versione PHP. Dato che PHP 8 è ancora una release candidate, ti consigliamo vivamente di non abilitarlo per i tuoi siti live, ma di eseguire test nel nostro ambiente di staging (lo staging è disponibile per i piani GoGeek e Cloud) o di creare copie dei tuoi siti se non disponi della funzionalità di staging.

Al momento, abbiamo implementato PHP 8 senza i seguenti moduli: mcrypt, geoip, ioncube.

Dicci cosa ne pensi e vinci un elefante PHP

Abbiamo cercato di darti il ​​quadro generale di cosa sia il nuovo PHP 8. Ora vorremmo sapere cosa ne pensati tu una volta che lo avrai provato. Cosa ti piace e cosa non ti piace? Come funziona sul tuo sito? Vedi miglioramenti delle prestazioni? Stiamo cercando di capire se e come i nostri utenti traggono vantaggio da questa release candidate prima che diventi una versione ufficiale.

Per stimolarti a condividere i tuoi test e le tue opinioni, abbiamo creato degli elefanti PHP per celebrare questa nuova versione. Daremo 1 elefante a 5 utenti estratti casualmente tra quelli che condivideranno i loro feedback su PHP 8 entro il 26 Novembre 2020 con un commento a questo post, su Facebook o Twitter, taggando SiteGround Italia e utilizzando l’hashtag #PHP8.

Verso PHP 7.3 e i nuovi aggiornamenti gestiti

Managed_PHP_IT_blog-post-1320x660

È giunto il momento di passare a PHP 7.3 come impostazione predefinita sui nostri server. La versione è in circolazione già da tempo ed è diventata ampiamente compatibile con diversi CMS, temi e plugin. Con PHP 7.3 introduciamo anche il nostro nuovo servizio PHP Gestito. Esso aggiornerà automaticamente la versione PHP di tutti gli utenti che attualmente si affidano versione PHP predefinita sui nostri server.

Continue reading “Verso PHP 7.3 e i nuovi aggiornamenti gestiti”

PHP 7.3 è ora disponibile su SiteGround

PHP 7.3

 

Uno dei grandi vantaggi della nostra configurazione server multi-PHP, è che ci permette di fornire le ultime versioni di PHP in sicurezza a chiunque lo desideri, anche prima della loro versione ufficiale. Oggi ti portiamo un esempio perfetto, abbiamo infatti aggiunto il nuovo PHP 7.3 all’elenco delle versioni PHP sul tuo account SiteGround. Al momento, supportiamo PHP 7.3 RC3, che verrà sostituito dalla versione finale, una volta che verrà rilasciata a Dicembre. Quindi, se lavori sul codice del tuo sito, da oggi puoi iniziare a testarle la nuova versione.

Cosa c’è di nuovo in PHP 7.3?

La maggior parte degli aggiornamenti delle versioni di PHP includono modifiche alla sintassi, aggiunta di nuove funzionalità e rimozione di vecchie funzioni. PHP 7.3 segue questa stessa strada. Se ti occupi direttamente del codice, ti consiglio di controllare il changelog di PHP 7.3 in dettaglio, perché potresti scoprire che una funzione che utilizzi è stata rimossa (mi dispiace).

[subscribe_cta]

La tua applicazione lo supporta?

La maggior parte delle applicazioni web, incluso WordPress, non funziona ancora su PHP 7.3. Secondo il Post ufficiale di WordPress 5.0, il supporto PHP 7.3 completo verrà aggiunto con l’aggiornamento 5.0, o con la versione 4.9.9 se il 5.0 verrà rinviato a gennaio.

Detto questo, è altamente raccomandato testare nuove versioni di PHP su copie temporanee del tuo sito perché, anche se il core della tua web app lo supporta, alcuni plugin, temi, ecc. potrebbero causare problemi. Fai test sempre in un ambiente di staging per evitare downtime del sito.

Come abilitare PHP 7.3?

Abilitare PHP 7.3 è facile come usare qualsiasi altra versione di PHP su SiteGround. Aggiungi semplicemente questa linea al tuo file .htaccess e al sito che risiede in quella cartella e tutte le sottocartelle inizieranno a usare questa versione:

AddHandler application/x-httpd-php73 .php .php5 .php4 .php3

In alternativa, puoi utilizzare lo strumento Gestione Versione PHP nel tuo cPanel.