AccuWebHosting introduce l'hosting PHP 7

Pubblicato: 2015-12-07

AccuWebHosting introduce l'hosting PHP 7

Il team di sviluppo PHP ha posto fine alla lunga attesa di WebMaster, annunciando l'immediata disponibilità di PHP 7. PHP 7, la prossima versione del linguaggio di scripting più popolare al mondo (che alimenta l'81% del web), è stata finalmente rilasciata il 3 dicembre 2015.

Dopo otto anni per essere completato e settimane di ritardo nel lancio, PHP 7 è finalmente disponibile per il download. Gli utenti Windows possono scaricare i binari di Windows PHP 7 da qui. Con l'ultima versione di PHP, ci sono molte modifiche introdotte, quindi PHP 7 non è certamente retrocompatibile con il codice esistente di PHP 4, anche se dovrebbe funzionare perfettamente con il codice PHP 5.x. Per verificare le modifiche introdotte in PHP 7, fare riferimento al Changelog.

Principali vantaggi di PHP 7

PHP 7 ha modifiche minime alla sintassi e pone maggiore enfasi sul miglioramento delle prestazioni. Negli ultimi mesi sono stati eseguiti numerosi benchmark su PHP 7 ed è stato affermato che PHP 7 è quasi il 200% più veloce del suo predecessore (PHP 5.x).

PHP 7 verrà eseguito sull'ultimo motore, ovvero PHPNG (PHP Next Generation) , in competizione con interpreti come HHVM di Facebook. HHVM ha sovraperformato PHP per anni, il che ha incoraggiato il team di sviluppatori PHP 7 a migliorare le competenze. Grazie a PHPNG, il motore principale di PHP 7 è ora più ottimizzato per CPU e memoria.

Sulla base dei benchmark eseguiti su PHP 7, il motore PHPNG dimezza l'utilizzo della memoria e della CPU rispetto alle ultime versioni 5.6.

Qui discutiamo alcune delle nuove funzionalità più interessanti che saranno disponibili quando esegui l'aggiornamento a PHP 7.

Nuovi operatori

PHP 7 viene fornito con due nuovi operatori, ovvero l' astronave (o operatore di confronto combinato) e l'operatore null coalesce .

L'operatore astronave ( <=> ) viene utilizzato per rendere più conciso il confronto concatenato. Per esempio:

 $var1 <=> $var2

Questa espressione è valutata come:

 -1 se $var1 è minore di $var2,
0 se $var1 è uguale a $var2 e
1 se $var1 è maggiore di $var2,

che è fondamentalmente una scorciatoia per la seguente espressione:

 ($var1 < $var2) ? -1 : (($var1 > $var2) ? 1 : 0)

L'operatore null coalesce ( ?? ) può essere utilizzato come scorciatoia per un caso d'uso comune. Ad esempio, con PHP 5.x, faresti qualcosa del genere:

 $var1 = isset($var2) ? $var2 : "predefinito";

La stessa espressione può essere scritta con l'operatore null coalesce in PHP 7 come segue:

 $var1 = $var2 ?? "predefinito";

Suggerimenti di tipo scalare

Suggerimenti di tipo scalare è una delle caratteristiche più sorprendenti dell'ultima versione di PHP. È possibile utilizzare numeri interi, float, stringhe e booleani come suggerimenti sui tipi per funzioni e metodi. In altre parole, quando si passa un valore float a un parametro intero, i suggerimenti di tipo scalare lo costringeranno a diventare intero senza generare errori o avvisi. Tuttavia, quando la modalità rigorosa è abilitata, genererà errori quando viene passato il tipo errato come argomento.

 <?php
funzione double(int $valore)
{
restituisce 2 * $valore;
}
$var = double("8");
var_dump($var);

Il codice sopra non genererà alcun errore quando la modalità rigorosa è disabilitata. Inoltre, la stringa "8" passata come argomento verrà forzata in numero intero all'interno della funzione double. Se abilitiamo la modalità rigorosa includendo la direttiva dichiara(strict_types = 1) nella prima riga del codice sopra, solo gli interi potranno essere passati alla funzione double.

 <?php
dichiarare(strict_types = 1);
funzione double(int $valore)
{
   restituisce 2 * $valore;
}
$var = double("8");
var_dump($var);

Quando la modalità rigorosa è abilitata, il codice sopra genererà un errore irreversibile.

Suggerimenti per il tipo di ritorno

Suggerimenti tipo restituito consente di definire il tipo restituito di metodi e funzioni. Si comporta allo stesso modo dei suggerimenti di tipo scalare in termini di coercizione e modalità rigorosa:

 <?php
funzione a() : bool
{
ritorno 1;
}
var_dump(a());

Quando viene eseguito il codice sopra, il valore restituito verrà convertito automaticamente in bool senza errori e avvisi. Quando la modalità rigorosa è abilitata, verrà generato un errore irreversibile.

HHVM vs PHP 7

HHVM è la macchina virtuale creata dagli sviluppatori di Facebook per l'esecuzione di applicazioni PHP. Nell'anno 2008, il team di Facebook ha sviluppato uno strumento per convertire lo script PHP in C++ in modo che potesse essere compilato ed eseguito su server web. L'obiettivo principale era ridurre l'utilizzo delle risorse del server e accogliere da cinque a sei volte più traffico rispetto alla capacità effettiva del server. Per superare queste sfide, Facebook ha sviluppato la HipHop Virtual Machine (HHVM). Questa modifica ha aumentato la capacità del server per accogliere un aumento del 500-600% del traffico web.

A questo punto, potresti chiedere: "Cosa rende HHVM così veloce?"

Invece di compilare il codice PHP in C++, HHVM ha utilizzato la compilazione Just-In-Time (JIT) per convertire il codice PHP in bytecode intermedio. Questo bytecode viene quindi ulteriormente tradotto in codice macchina x64. Ora entra in gioco il compilatore JIT, che esegue dinamicamente la traduzione in fase di esecuzione, consentendo tutte le possibili ottimizzazioni. Di conseguenza, le prestazioni delle tue applicazioni PHP aumenteranno notevolmente.

PHP 7 o PHPNG è il vero concorrente e la risposta della comunità a HipHop Virtual Machine. HHVM ha chiaramente superato le versioni precedenti di PHP, ma i recenti test di benchmark suggeriscono che PHP 7 è leggermente più veloce di HHVM in determinate situazioni. Diamo un'occhiata ai risultati di alcuni test di benchmark condotti da ZEND su alcune app popolari, come WordPress, Magento e Drupal:

Magento HHVM 3.7 vs PHP 7

Dedotto dal grafico sottostante, puoi effettuare fino a 3 volte più richieste del server di catalogo Magento sullo stesso hardware e PHP 7 utilizza il 30% di memoria in meno.

Confronto Magento-HHVM-Vs-PHP7

Confronto Magento HHVM e PHP 7

 Fonte: www.zend.com

WordPress HHVM 3.7 vs PHP 7

Secondo i risultati mostrati, non c'è molta differenza tra HHVM 3.7 e PHP 7. Il fatto più interessante è che PHP 7 ha utilizzato solo il 25% delle esecuzioni del server rispetto a PHP 5.6. Pertanto, i server con la stessa capacità saranno in grado di servire un numero maggiore di utenti.

Confronto tra WordPress HHVM 3.7 e PHP-7

Confronto tra WordPress HHVM 3.7 e PHP 7

 Fonte: www.zend.com

Drupal HHVM 3.7 vs PHP 7

Il grafico indica che PHP 7 è significativamente più veloce di HVVM e, cosa interessante, Drupal 8 funziona il 72% più velocemente su PHP 7 rispetto a PHP 5.6.

Confronto Drupal HHVM e PHP7

Confronto Drupal HHVM e PHP 7

 Fonte: www.zend.com

Altri benchmark

Puoi anche fare riferimento ai benchmark eseguiti da Rasmus Lerdorf presso PHP Australia. Usa i tasti freccia per navigare tra le diapositive.

Con cosa dovrei andare?

Prima di PHP 7 o PHPNG, HHVM è sicuramente più veloce dei pacchetti PHP-Zend per tutte le versioni di PHP. PHP 7 ha dimostrato prestazioni migliori rispetto a HHVM per la maggior parte degli script nella maggior parte dei benchmark.

Grandi siti web come Etsy e Wikimedia Foundation utilizzano HHVM, ma ci sono voluti ben più di sei mesi per passare completamente dal pacchetto PHP-Zend al pacchetto PHP-HHVM. In altre parole, il passaggio dal pacchetto PHP-Zend al pacchetto PHP-HHVM non è un compito notturno. Per i piccoli proprietari di siti web, il passaggio a PHP 7 sarebbe molto più semplice, rispetto al complesso passaggio a HHVM, che richiede maggiore esperienza.

Hosting PHP 7 di AccuWebHosting

Non sorprende che AccuWebHosting sia uno dei primi host web a offrire PHP 7 Hosting. Il nostro entusiasta team di test ha atteso a lungo l'ultima versione di PHP. Il giorno successivo al rilascio di PHP 7, il team ha colto l'occasione per testare PHP 7 sulla nostra infrastruttura di web hosting.

Siamo orgogliosi di offrire il supporto PHP 7 su entrambi i piani di hosting SSD condiviso Linux e WordPress Hosting.

AccuWebHosting fornisce un plug-in di configurazione PHP sui piani Linux Shared/Reseller, consentendo ai clienti di impostare la versione PHP 7 per directory e domini. I nostri clienti Linux Shared SSD Hosting e WordPress Hosting possono utilizzare i seguenti articoli per passare dalla versione precedente di PHP alla 7:

Modifica versione PHP da cPanel

Supporto per PHP 7 su un Server Dedicato

  1. Con un server dedicato a Windows, il team di AccuWebHosting installerà e configurerà PHP 7 su richiesta.
  2. Attualmente, cPanel/WHM non supporta PHP 7, quindi non sarebbe possibile utilizzare PHP 7 in server dedicati a cPanel, a meno che non venga utilizzato il sistema operativo CloudLinux. Una volta che cPanel/WHM inizia a supportare PHP 7, può essere aggiunto tramite WHM EasyApache.
  3. I clienti di server dedicati a Linux (senza cPanel) possono installare e configurare PHP 7 in base alle loro esigenze.

Supporto per PHP 7 su Windows VPS

Tutti i nostri piani Windows VPS supportano PHP 7. I clienti Windows VPS dovranno inviare un ticket per installare e configurare PHP 7.

Supporto per PHP 7 su Linux VPS

I clienti Linux VPS (senza cPanel) possono installare e configurare PHP 7 in base alle proprie esigenze. Poiché cPanel non supporta PHP 7, i clienti di cPanel VPS devono attendere fino a quando cPanel non implementa il supporto per PHP 7. Una volta che cPanel inizia a supportare PHP 7, può essere aggiunto tramite EasyApache.