AccuWebHosting wprowadza hosting PHP 7
Opublikowany: 2015-12-07Zespół programistów PHP położył kres długiemu oczekiwaniu WebMastera, ogłaszając natychmiastową dostępność PHP 7. PHP 7, kolejna wersja najpopularniejszego na świecie języka skryptowego (zasilającego 81% sieci), została ostatecznie wydana 3 grudnia 2015 roku.
Po ośmiu latach i tygodniach opóźnień we wdrożeniu, PHP 7 jest wreszcie dostępne do pobrania. Użytkownicy systemu Windows mogą pobrać pliki binarne PHP 7 dla systemu Windows stąd. W najnowszej wersji PHP wprowadzono wiele zmian, więc PHP 7 z pewnością nie jest wstecznie kompatybilne z istniejącym starszym kodem PHP 4, chociaż powinno bezproblemowo współpracować z kodem PHP 5.x. Aby sprawdzić wprowadzone zmiany w PHP 7, zapoznaj się z Changelog.
Główne zalety PHP 7
PHP 7 ma minimalne modyfikacje składni i kładzie większy nacisk na poprawę wydajności. W ciągu ostatnich kilku miesięcy przeprowadzono szereg testów porównawczych na PHP 7 i stwierdzono, że PHP 7 jest prawie 200% szybsze niż jego poprzednik (PHP 5.x).
PHP 7 będzie działać na najnowszym silniku, czyli PHPNG (PHP Next Generation) , konkurując z interpreterami takimi jak HHVM z Facebooka. HHVM od lat przewyższa PHP, co zachęciło zespół programistów PHP 7 do poprawy kompetencji. Dzięki PHPNG rdzeń silnika PHP 7 jest teraz bardziej zoptymalizowany pod kątem procesora i pamięci.
W oparciu o testy porównawcze przeprowadzone na PHP 7, silnik PHPNG zmniejsza o połowę wykorzystanie pamięci i procesora w porównaniu z najnowszymi wydaniami 5.6.
Tutaj omówimy niektóre z najbardziej ekscytujących nowych funkcji, które będą dostępne po uaktualnieniu do PHP 7.
Nowi operatorzy
PHP 7 zawiera dwa nowe operatory, a mianowicie statek kosmiczny (lub kombinowany operator porównania) i zerowy operator koalescencji .
Operator statku kosmicznego ( <=> ) jest używany, aby twoje łańcuchowe porównanie było bardziej zwięzłe. Na przykład:
$zmienna1 <=> $zmienna2
To wyrażenie jest oceniane jako:
-1 jeśli $zmienna1 jest mniejsza niż $zmienna2, 0 jeśli $zmienna1 równa się $zmienna2 i 1, jeśli $zmienna1 jest większa niż $zmienna2,
co jest skrótem do następującego wyrażenia:
($zmienna1 < $zmienna2) ? -1 : (($zmienna1 > $zmienna2) ? 1 : 0)
Operator łączenia wartości null ( ?? ) może służyć jako skrót do typowego przypadku użycia. Na przykład w PHP 5.x zrobiłbyś coś takiego:
$zmienna1 = isset($zmienna2) ? $var2 : "domyślna";
To samo wyrażenie można napisać z operatorem null coalesce w PHP 7 w następujący sposób:
$zmienna1 = $zmienna2 ?? "domyślna";
Wskazówki typu skalarnego
Podpowiedzi typu skalarnego to jedna z najbardziej uderzających funkcji najnowszej wersji PHP. Możesz używać liczb całkowitych, zmiennoprzecinkowych, łańcuchów i wartości logicznych jako wskazówek dotyczących typów funkcji i metod. Innymi słowy, gdy przekazujesz wartość zmiennoprzecinkową do parametru typu całkowitego, wskazówki typu skalarnego po prostu zmienią go na liczbę całkowitą bez generowania błędów lub ostrzeżeń. Jednak po włączeniu trybu ścisłego zgłosi błędy, gdy jako argument zostanie przekazany niewłaściwy typ.
<?php funkcja double(int $wartość) { zwróć 2 * $wartość; } $zmienna = podwójna("8"); var_dump($zmienna);
Powyższy kod nie wygeneruje żadnych błędów, gdy tryb ścisły jest wyłączony. Dodatkowo ciąg „8” przekazany jako argument zostanie przekształcony w liczbę całkowitą wewnątrz funkcji double. Jeśli włączymy tryb ścisły, umieszczając dyrektywę define(strict_types = 1) w pierwszym wierszu powyższego kodu, do funkcji podwójnej będą mogły być przekazywane tylko liczby całkowite.
< ?php zadeklaruj(strict_types = 1); funkcja double(int $wartość) { zwróć 2 * $wartość; } $zmienna = podwójna("8"); var_dump($zmienna);
Gdy włączony jest tryb ścisły, powyższy kod wygeneruje błąd krytyczny.
Wskazówki dotyczące zwrotów
Wskazówki dotyczące zwracanego typu umożliwiają zdefiniowanie zwracanego typu metod i funkcji. Zachowuje się tak samo jak wskazówki typu skalarnego pod względem przymusu i trybu ścisłego:
< ?php funkcja a() : bool { powrót 1; } var_dump(a());
Gdy powyższy kod zostanie wykonany, zwrócona wartość zostanie automatycznie przekonwertowana na bool bez żadnych błędów i ostrzeżeń. Gdy włączony jest tryb ścisły, zostanie zgłoszony błąd krytyczny.
HHVM vs PHP 7
HHVM to wirtualna maszyna stworzona przez programistów Facebooka do wykonywania aplikacji PHP. W 2008 roku zespół Facebooka opracował narzędzie do konwersji skryptu PHP na C++, aby można go było kompilować i uruchamiać na serwerach WWW. Podstawowym celem było zmniejszenie wykorzystania zasobów serwera i obsłużenie ruchu od pięciu do sześciu razy większego niż rzeczywista pojemność serwera. Aby sprostać tym wyzwaniom, Facebook opracował maszynę wirtualną HipHop (HHVM). Ta zmiana zwiększyła pojemność serwera, aby pomieścić wzrost ruchu internetowego o 500-600%.
W tym momencie możesz zapytać: „Co sprawia, że HHVM jest tak szybki?”
Zamiast kompilować kod PHP do C++, HHVM wykorzystał kompilację Just-In-Time (JIT) do konwersji kodu PHP na pośredni kod bajtowy. Ten kod bajtowy jest następnie tłumaczony na kod maszynowy x64. Teraz pojawia się kompilator JIT, który dynamicznie uruchamia tłumaczenie w czasie wykonywania, umożliwiając wszystkie możliwe optymalizacje. W rezultacie wydajność aplikacji PHP znacznie wzrośnie.
PHP 7 lub PHPNG jest prawdziwym konkurentem i odpowiedzią społeczności na HipHop Virtual Machine. HHVM wyraźnie przewyższa poprzednie wersje PHP, ale ostatnie testy porównawcze sugerują, że PHP 7 jest nieco szybszy niż HHVM w pewnych sytuacjach. Rzućmy okiem na wyniki niektórych testów porównawczych przeprowadzonych przez ZEND na niektórych popularnych aplikacjach, takich jak WordPress, Magento i Drupal:
Magento HHVM 3.7 kontra PHP 7
Jak wynika z poniższego wykresu, możesz wykonać do 3 razy więcej żądań serwera katalogu Magento na tym samym sprzęcie, a PHP 7 zużywa o 30% mniej pamięci.
Źródło: www.zend.com
WordPress HHVM 3.7 vs PHP 7
Zgodnie z przedstawionymi wynikami, nie ma dużej różnicy między HHVM 3.7 a PHP 7. Najciekawszym faktem jest to, że PHP 7 wykorzystało tylko 25% uruchomień serwera w porównaniu z PHP 5.6. Dzięki temu serwery o tej samej pojemności będą mogły obsłużyć większą liczbę użytkowników.
Źródło: www.zend.com
Drupal HHVM 3.7 kontra PHP 7
Wykres pokazuje, że PHP 7 jest znacznie szybsze niż HVVM i, co ciekawe, Drupal 8 działa 72% szybciej na PHP 7 w porównaniu do PHP 5.6.
Źródło: www.zend.com
Inne benchmarki
Możesz również odwołać się do testów porównawczych wykonanych przez Rasmusa Lerdorfa w PHP Australia. Użyj klawiszy strzałek, aby poruszać się po slajdach.
Z czym powinienem iść?
Przed PHP 7 lub PHPNG, HHVM jest z pewnością szybszy niż pakiety PHP-Zend dla wszystkich wersji PHP. PHP 7 wykazał lepszą wydajność w stosunku do HHVM dla większości skryptów w większości testów.
Duże witryny, takie jak Etsy i Wikimedia Foundation, wykorzystują HHVM, ale pełne przejście z pakietu PHP-Zend na pakiet PHP-HHVM zajęło znacznie ponad sześć miesięcy. Innymi słowy, przejście z pakietu PHP-Zend na pakiet PHP-HHVM nie jest zadaniem z dnia na dzień. Dla właścicieli małych witryn przejście na PHP 7 byłoby znacznie łatwiejsze w porównaniu ze złożonym przejściem na HHVM, które wymaga większej wiedzy.
Hosting PHP 7 przez AccuWebHosting
Nic dziwnego, że AccuWebHosting jest jednym z pierwszych hostów internetowych oferujących hosting PHP 7. Nasz entuzjastyczny zespół testerów długo oczekiwał najnowszej wersji PHP. Już następnego dnia po wydaniu PHP 7 zespół skorzystał z okazji, aby przetestować PHP 7 na naszej infrastrukturze hostingowej.
Z dumą oferujemy obsługę PHP 7 zarówno w ramach hostingu Linux Shared SSD, jak i hostingu WordPress.
AccuWebHosting udostępnia wtyczkę konfiguracyjną PHP w planach Linux Shared/Reseller, umożliwiając klientom ustawienie wersji PHP 7 dla katalogów i domen. Nasi klienci hostingu Linux Shared SSD i WordPress Hosting mogą skorzystać z poniższych artykułów, aby zmienić starszą wersję PHP na 7:
Zmień wersję PHP z cPanel
Obsługa PHP 7 na serwerze dedykowanym
- W przypadku serwera dedykowanego dla systemu Windows zespół AccuWebHosting zainstaluje i skonfiguruje PHP 7 na żądanie.
- Obecnie cPanel/WHM nie obsługuje PHP 7, więc nie byłoby możliwe użycie PHP 7 na serwerach dedykowanych dla cPanel, chyba że używany jest system operacyjny CloudLinux. Gdy cPanel/WHM zacznie obsługiwać PHP 7, można go dodać za pomocą WHM EasyApache.
- Klienci serwera dedykowanego dla systemu Linux (bez cPanel) mogą zainstalować i skonfigurować PHP 7 zgodnie z własnymi wymaganiami.
Obsługa PHP 7 na Windows VPS
Wszystkie nasze plany Windows VPS obsługują PHP 7. Klienci Windows VPS będą musieli przesłać zgłoszenie, aby zainstalować i skonfigurować PHP 7.
Obsługa PHP 7 na Linux VPS
Klienci Linux VPS (bez cPanel) mogą zainstalować i skonfigurować PHP 7 zgodnie ze swoimi wymaganiami. Ponieważ cPanel nie obsługuje PHP 7, klienci cPanel VPS muszą poczekać, aż cPanel wdroży obsługę PHP 7. Gdy cPanel zacznie obsługiwać PHP 7, można go dodać za pomocą EasyApache.