Articles

Co to jest PHP 7 i jak zacząć go używać z WordPressem?

Tagi – jak to, PHP, PHP7
  • By Sourav Kundu
  • May 15, 2019
WordPress Deals

PHP 7 jest jedną z najbardziej znaczących aktualizacji w historii oprogramowania po stronie serwera, które zasila ponad 82% Internetu, a w tym przewodniku omówimy tajniki korzystania z niego z WordPressem.

Spojrzymy na niesamowite zalety PHP 7 i pomożemy Ci zrozumieć, jak ważne jest przestrzeganie zalecanej wersji minimalnej (5.6). Dowiesz się również, jak sprawdzić, czy twoja witryna WordPress jest gotowa na PHP 7, oraz jakie są plusy i minusy aktualizacji do tej nowej wersji.

Po zakończeniu tego przewodnika, będziesz wyposażony w solidne zrozumienie PHP i przekonany do aktualizacji do zalecanego minimum – a może nawet zrobisz kolejny krok do PHP 7!

Zacznijmy…

Przewodnik dla początkujących po PHP – Czym jest PHP?

Dla tych z was, którzy są zupełnie nowi w temacie, PHP jest językiem skryptowym po stronie serwera, zaprojektowanym do generowania stron HTML na żądanie.
Pomyśl o tym jako o prostym, trzystopniowym procesie:

  • Wprowadzanie: Wprowadzasz zestaw poleceń zapisanych w postaci skryptu PHP, jako dane wejściowe do silnika PHP.
  • Przetwarzanie: Silnik PHP wykonuje skrypt na serwerze.
  • Wyjście: Dane wyjściowe to strona HTML, która jest renderowana przez przeglądarkę internetową.

W opisanym powyżej trzyetapowym procesie możemy zidentyfikować kilka komponentów.

  1. Skrypt(y) PHP
  2. Silnik PHP
  3. Serwer
  4. Wyjściowy HTML

Zobaczmy teraz, jak odnoszą się one do typowego środowiska WordPress.

Components of a typical PHP Environment

1) Skrypty PHP: WordPress jest w zasadzie ogromnym, zorganizowanym zbiorem kodu napisanego w wielu językach skryptowych, takich jak PHP, JavaScript i CSS, przy czym podstawowym z nich jest PHP. To właśnie on nadaje WordPressowi jego dynamiczną naturę.

2) Silnik PHP: Pomyśl o nim jako o centralnym komponencie, który wykonuje instrukcje określone w skrypcie PHP – czyniąc to z pomocą serwera, na którym jest uruchomiony. Silnik PHP jest jednym z najważniejszych komponentów, który wpływa na szybkość, wydajność i niezawodność strony internetowej. Jest on również głównym tematem naszej dyskusji!

3) Serwer: Jest to zdalny komputer, znany również jako „host sieciowy”, na którym hostowana jest twoja witryna WordPress. Gdyby istniał hosting bez zainstalowanego PHP, WordPress nie działałby na nim.

4) Wyjście HTML: Za każdym razem, gdy witryna WordPress jest ładowana, przywoływany jest silnik PHP. Skrypty są wykonywane przez silnik PHP za pomocą serwera, a końcowy (lub wyjściowy) HTML jest eksportowany do przeglądarki internetowej odwiedzającego. I na tym kończy się cały proces.

Czym jest PHP 7?

Gdy już wiemy, czym jest skrypt PHP, porozmawiajmy o silniku PHP. W dalszej części artykułu będziemy używać terminów „silnik PHP” i „PHP” synonimicznie.

PHP 7 to silnik PHP, który został wprowadzony na rynek w grudniu 2016 roku i niesie ze sobą mnóstwo nowych funkcji, ulepszeń wydajności i poprawek bezpieczeństwa. Jak w przypadku każdej dobrej lekcji, zacznijmy od odrobiny historii.

Krótka historia PHP

PHP został wydany w 1994 roku jako język skryptowy przez Rasmusa Lerdorfa w dążeniu do stworzenia narzędzia, które ułatwiłoby aktualizację jego osobistej strony domowej. *Niewiele wiedział, że ten poboczny projekt rozwinie się, by zasilić ponad 82% wszystkich stron internetowych – w tym takie sławy jak Facebook czy WordPress.

Na przestrzeni lat PHP doczekało się kilku wydań. Pierwsza z nich ukazała się w 1995 roku, a następnie wersja 2.0 w 1997 roku. Wersja 3.0 została wydana w 1998, a następnie wersja 4.0 w 2000 roku.

Czy to oczekiwanie czyni PHP 7 wyjątkowym?

illustration of 12 years time taken to release php 7

W tym momencie sprawy zaczęły się robić interesujące. PHP w wersji 5 zostało wydane cztery lata później, w 2004 roku. Miała ona wiele iteracji – tak wiele, że komitet zdecydował się pominąć wersję 6 i przeskoczyć do wersji 7. Aby spojrzeć na sprawę z innej perspektywy, pierwszą iteracją PHP 5 była wersja 5.0, wydana w 2004 roku. Jego ostatnia iteracja, PHP 5.6, została wydana dziesięć lat później, w 2014 roku.

Dwa lata później pojawiło się PHP 7 – najbardziej obiecujące wydanie PHP do tej pory. W zasadzie świat musiał czekać dobre 12 lat, aby dostać w swoje ręce PHP 7.

Performance Improvements in PHP 7

Czekanie nie poszło na marne. PHP 7 zawiera mnóstwo ulepszeń wydajności i bezpieczeństwa. Przyjrzyjmy się poszczególnym ulepszeniom wydajności, popartym solidnymi benchmarkami.

1) Znacząca poprawa przepustowości (liczba żądań na sekundę)

php 7 advantages in WordPress higher bandwidth

PHP 7 działało prawie dwa razy lepiej niż PHP 5.6, przy uruchomionym WordPressie 4.1.1.

php7 vs php 5.6 in WordPress performance benchmark

Na powyższym wykresie widzimy prawie 2.18 razy więcej żądań na sekundę przy mniej niż połowie latencji.

2) Niższa latencja dla użytkowników współbieżnych

php 7 advantages in WordPress lower latency

Latencja to ilość czasu, jaka upływa między pierwszym żądaniem a pierwszą odpowiedzią między serwerem a klientem. Im niższe opóźnienie, tym lepsza usługa. Sprawdźmy, jak PHP 7 radzi sobie z tym problemem.

php7 vs php 5.6 in WordPress latency concurrent users

Przyjęliśmy trzy punkty danych oparte na liczbie współbieżnych użytkowników dla każdego silnika PHP.

  1. Pomarańczowe słupki reprezentują opóźnienie, gdy dziesięć osób jednocześnie korzysta z twojej strony.
  2. Niebieskie słupki są dla podwójnej liczby użytkowników (tj. 20 użytkowników jednocześnie).
  3. Różowe słupki są dla 40 użytkowników jednocześnie.

We wszystkich przypadkach PHP 7 wybija swoich poprzedników z parku.

*Wszystko to na *dokładnie tym samym sprzęcie! Oznacza to, że jeśli dokonasz aktualizacji do PHP 7 z zachowaniem wszystkich niezbędnych kontroli kompatybilności (więcej na ten temat później), powinieneś zobaczyć dwukrotny wzrost wydajności.

3) Wersje WordPress 4.0+ są zoptymalizowane pod kątem PHP 7

php 7 advantages in WordPress better compatibility with wordpress

WordPress 4.0 został dostosowany do wykorzystania najnowszych funkcji PHP 7. Według Zend, ma prawie dwukrotnie wyższą wydajność na tym samym sprzęcie, w porównaniu do swojego poprzednika, WordPress 3.6.

php7 WordPress 3.6 vs 4.1 performance improvement

Na powyższym wykresie widzimy, że istnieje dwukrotny wzrost wydajności w dużej aktualizacji WordPress. Ten benchmark jest niezależny od wersji PHP. Jest to raczej wskazówka, że społeczność WordPressa stale optymalizuje kod pod kątem nadchodzących wersji PHP.

4) 75% mniej instrukcji, ten sam wynik

php 7 advantages in WordPress memory optimization

PHP 7 również posiada zabójczy zestaw instrukcji. Jest on skandalicznie zoptymalizowany do wykonywania tego samego zadania w mniejszej ilości instrukcji. Na przykład, jedno żądanie WordPressa w PHP 5.6 wykonuje się w 100 milionach instrukcji procesora. Natomiast w PHP 7 to samo zapytanie jest wykonywane w 25 milionach instrukcji procesora. To 75% redukcja liczby poleceń wymaganych do wykonania tego samego zadania!

5) Znaczący wzrost wydajności

php 7 advantages in WordPress superior performance

Jason Cosper, nerd-rezydent w WP Engine, uwielbia bawić się najnowszymi silnikami PHP, aby sprawdzić, które z nich działają najlepiej.

php 7 advantages in WordPress php 5.5 vs php 7.0

W jednym ze swoich eksperymentów stwierdził, że PHP 7 jest prawdopodobnie 6.6 razy szybciej niż PHP 5.5 – uruchamiając WordPress 4.3.1 i bbPress.

State of WordPress PHP in Q1 2017

Teraz, gdy mamy funkcjonalne zrozumienie korzyści płynących z PHP 7, spójrzmy, jak wielu użytkowników WordPressa go używa.

state of WordPress php 2017 q1

Dobrze: Według oficjalnych statystyk WordPressa, 9% społeczności WordPressa uaktualniło się do PHP 7 na dzień 20 kwietnia 2017 r.

Dobrze: Około 40% użytkowników WordPressa korzysta z PHP 5.6. Jest to stosunkowo dobra wiadomość, ponieważ PHP 5.6 otrzymuje wsparcie bezpieczeństwa do 31 grudnia 2018 r.

Brzydkie: Jednak naprawdę złą wiadomością jest to, że ponad 50% aktywnych witryn WordPress używa wersji PHP starszej niż 5.6, co naraża wszystkie te witryny na poważne problemy z lukami.

  • PHP 5.4 nie został załatany od 2015 r.
  • And PHP 5.5 nie został załatany od 2016 r.
  • Jeśli używasz wersji starszej niż 5.6 (więcej o tym, jak sprawdzić swoją wersję PHP później), proszę natychmiast zaktualizować swoją wersję PHP.

A Beacon of Hope

yoast seo php 5 and php 7 battle

Joost de Valk, założyciel Yoast SEO – wtyczki WordPress SEO z ponad 3 milionami aktywnych instalacji – postanowił coś z tym zrobić. Cytując oryginalny artykuł:

Począwszy od Yoast SEO 4.5, zaczniemy wyświetlać powiadomienie na pulpicie nawigacyjnym WordPress dla administratorów stron działających w PHP 5.2. To powiadomienie będzie duże, brzydkie i niedopuszczalne. W tym powiadomieniu wyjaśnimy, dlaczego administrator powinien zaktualizować wersję PHP w witrynie.

WordPress i przestarzałe wersje PHP

dangers of outdated php illustration

W tym miejscu należy zaznaczyć, że WordPress będzie nadal wspierał starsze wersje PHP. Nie oznacza to, że możesz usiąść wygodnie i zrelaksować się. W naszym najlepszym interesie jest uaktualnienie do 5.6 – jeśli nie PHP 7.

php 5.x and php 7 support timeline

Jeśli jesteś na PHP 5.6, jest kilka rzeczy, które wkrótce nadejdą w twoim kierunku:

  1. Zgodnie z oficjalną osią czasu wsparcia PHP, PHP 5.6 otrzymałoby oficjalne wsparcie do 17 stycznia 2017 roku. To już koniec.
  2. W lepszych wiadomościach, PHP 5.6 otrzyma wsparcie bezpieczeństwa do 31 grudnia 2018 roku.
  3. Oczywiście, nadal będziesz tęsknić za wszystkimi ulepszeniami wydajności, które możesz uzyskać za absolutnie zerową inwestycję.

Switching to PHP 7 – Is It Worth It?

Teraz, gdy mamy już mocne zrozumienie różnych zalet PHP 7, zajmijmy się kluczowym pytaniem: Czy powinieneś przejść na PHP 7?

Metoda podejmowania jakiejkolwiek decyzji powinna być oparta na logice. Postaramy się odpowiedzieć na trzy podstawowe pytania:

What Are the Advantages of Switching to PHP 7?

php 7 advantages

Przedstawiliśmy pięć punktów popartych benchmarkami z całego internetu. Wszystkie z nich wskazują na szereg korzyści i na zdecydowane „tak”, jeśli chodzi o decyzję o przejściu na PHP.

Are Your WordPress Theme and Plugin(s) Compatible with PHP 7?

php 7 compatibility issues

Tylko dlatego, że WordPress jest kompatybilny z PHP 7 (i ma wsteczną kompatybilność z PHP 5.6), nie oznacza, że wszystkie jego motywy i wtyczki są. Możesz użyć niestandardowego motywu lub wtyczki, która ma funkcje, które są przestarzałe w PHP 7. Możesz również używać wtyczki z repozytorium WordPressa, która nie była aktualizowana przez jakiś czas. Jakie jest rozwiązanie?

How Can You Check if Your WordPress Site Is Ready for PHP 7?

php 7 challenges

Na szczęście hojni deweloperzy z WP Engine stworzyli dość niesamowitą wtyczkę, która rozwiązuje ten właśnie problem.

php compatibility checker WordPress plugin by wpengine

Wprowadzenie PHP Compatibility Checker: Wtyczka, która skanuje twoją bazę kodu WordPress i aktywne wtyczki motywu w poszukiwaniu znanych problemów z kompatybilnością.

PHP Compatibility Checker

Wspierane wersje PHP wtyczki PHP Compatibility Checker

Możesz sprawdzić problemy z kompatybilnością dla pięciu różnych wersji PHP, począwszy od 5.3 do 7.0.

php compatibility checker WordPress plugin test results

(kliknij, aby powiększyć)

Problemy z kompatybilnością (jeśli zostaną znalezione) są skategoryzowane jako błędy i ostrzeżenia. Wtyczka wyświetli listę plików i numer linii nieprawidłowego kodu, wraz z informacją, dlaczego ten kod jest niekompatybilny z wybraną wersją PHP.

Jednakże istnieje kilka ograniczeń:

  1. Wtyczka nie może wykryć problemów ze zgodnością runtime, ponieważ nie wykonuje żadnego z istniejących motywów i wtyczek.
  2. Polega na WP-Cron do skanowania plików w tle, więc WP-Cron musi być włączony i działać na serwerze.
  3. Okazjonalnie zgłaszane są fałszywe wyniki pozytywne, ponieważ wtyczka nie może wykryć nieużywanych ścieżek kodu, które mogą być używane do wstecznej kompatybilności.

list of supported plugin checks by php compatibility checker

Przykładowa lista wtyczek obsługiwanych przez PHP Compatibility Checker.

W sumie jest to całkiem zgrabna wtyczka, która powie ci, czy twój stos WordPress jest przygotowany na aktualizację!

Jakie są zagrożenia związane z brakiem przejścia na PHP 7?

php 7 pitfalls

Następujące trzy punkty wyjaśniają wady braku aktualizacji do zalecanego PHP 7. Podkreślają one również niektóre z możliwych niebezpieczeństw związanych z brakiem aktualizacji do wymaganej minimalnej wersji, PHP 5.6.

4.1 Spadek wydajności: Po pierwsze, możesz przegapić co najmniej dwukrotny wzrost wydajności bez inwestowania ani grosza. I zgadnij co? Jeśli używasz PHP 5.2, jest ono podobno o 400% wolniejsze od PHP 7!

4.2 Problemy z bezpieczeństwem: PHP 5.x posiadało mnóstwo luk w zabezpieczeniach, które zostały należycie załatane w nowszych wersjach. W rzeczywistości rok 2016 był rekordowy pod względem liczby błędów w zabezpieczeniach PHP, zgłoszono ponad 100 takich błędów, począwszy od odmowy usługi (DoS), poprzez uszkodzenie pamięci, wykonanie złośliwego kodu i tak dalej.

Aby dać Ci wyobrażenie o tym, jak zła jest sytuacja, PHP 5.4 nie było łatane od 2015 roku i nie jest już wspierane. A jednak 21% użytkowników WordPressa wciąż używa PHP 5.4! Jeśli należysz do tej grupy, zaktualizuj do 5.6 już dziś.

4.3 Broken Plugins: Używanie starszej, nieobsługiwanej wersji PHP powoduje konflikty wtyczek. Jednym z najbardziej widocznych błędów jest 'unexpected T_Function’, jak widać poniżej.

outdated version of PHP causes WordPress conflicts

Zrzut ekranu z wątku wsparcia dla wtyczki Content Locker

Powyższy zrzut ekranu to zapytanie do wsparcia dla wtyczki Content Locker. Autor wyraźnie wspomina, że minimalna wersja PHP wymagana do działania wtyczki to 5.4.

Success Stories

PHP 7 success stories

Zawsze zachęcająco jest widzieć, jak różne organizacje na całym świecie korzystają z aktualizacji.

5.1) Fortuna zaoszczędzona dla Badoo

Naszym pierwszym przykładem jest aplikacja randkowa Badoo, której udało się zaoszczędzić ponad 1 milion dolarów dzięki przejściu na PHP 7. Jak? To proste! PHP 7 zmniejszyło ilość mocy obliczeniowej potrzebnej do wykonania tego samego zadania. W ten sposób, mniej serwerów było wymaganych do wykonania tej samej pracy, co skończyło się zwolnieniem około 300 serwerów!

5.2) Major Performance Boost for Clinton Electronics

Nasza druga historia sukcesu pochodzi od klienta WP Engine, Clinton Electronics. W skrócie, chcieli oni mieć dynamiczny sklep ecommerce z szybkim czasem ładowania. Wybranym stosem był WordPress, wraz z WooCommerce. Agencja, z którą pracowali, wybrała WP Engine jako zarządzanego dostawcę hostingu WordPress, który z kolei zalecił PHP 7. Ta aktualizacja ostatecznie zdołała zmniejszyć czas ładowania strony aż o 60%!

How to Switch to PHP 7 with WordPress?

switching to php 7 illustration

Po pierwsze, upewnij się, że Twój obecny stos WordPress jest kompatybilny z PHP 7 za pomocą wtyczki PHP Compatibility Checker. Gdy wtyczka daje zielone światło, przejdź do aktualizacji.

  • Jeśli używasz współdzielonego hostingu WordPress, takiego jak Bluehost, możesz zaktualizować swoją wersję PHP w czterech prostych krokach. Prawie wszyscy dostawcy hostingu współdzielonego WordPress pochodzą z cPanel lub niestandardowy panel dostępu, w którym można zmienić wersję PHP.
  • Jeśli używasz zarządzanego WordPress hosting provider, takich jak WP Engine, przełączanie do PHP 7 jest bułka z masłem – dotrzeć do ich wsparcia, a oni będą mieli to zrobić w jiffy.
WPEngine PHP FAQ page Retrieved 26 Apr, 2017

WPEngine PHP FAQ page Retrieved 26 Apr, 2017

WP Engine PHP FAQ page, retrieved: 26 April 2017

Dobrą wiadomością dla użytkowników WP Engine jest to, że minimalna dozwolona wersja PHP to 5.6, zgodnie z ich stroną FAQ.

Why WP Engine? Istnieje wiele korzyści, które sprawiają, że WP Engine jest jeszcze bardziej atrakcyjny:

  1. Innowacyjna technologia WordPress.
  2. Blaskotliwie szybkie serwery zdolne do obsługi setek milionów żądań dziennie.
  3. Bezpieczeństwo hardcore z zaawansowaną ochroną DDoS.
  4. Najlepsze wsparcie.

Jesteśmy w branży od kilku lat i zdobyliśmy najlepsze marki, takie jak National Geographic i AMD. To, co osobiście najbardziej podoba mi się w WP Engine, to ich kultura oddawania społeczności – czy to sponsorowanie WordCampów, organizowanie wydarzeń, czy budowanie wspaniałych darmowych wtyczek, takich jak PHP Compatibility Checker.

Jeśli rozważasz uaktualnienie lub chcesz zmienić obecnego dostawcę usług hostingowych, gorąco polecamy WP Engine jako zarządzanego dostawcę usług hostingowych WordPress, z planami zaczynającymi się od 29 USD miesięcznie.

Wrapping Up

Szybko podsumujmy wszystko, czego nauczyliśmy się do tej pory:

  1. PHP zasila 82% Internetu, zasilając strony takie jak Facebook i WordPress.
  2. Zalecana minimalna wersja PHP to 5.6 – wszystko poniżej tej wersji jest wielkim nie-nie!
  3. PHP 7 ma znaczące ulepszenia pod względem wydajności, bezpieczeństwa i funkcji – łatwo zwiększa wydajność WordPressa o 2x przy zerowym dodatkowym sprzęcie.
  4. Przełączenie WordPressa na PHP 7 przynosi do domu mnóstwo korzyści bez żadnych inwestycji.
  5. Jednakże przed przełączeniem musisz upewnić się, że Twoja konfiguracja WordPressa jest gotowa do aktualizacji do PHP 7 za pomocą wtyczki PHP Compatibility Checker.
  6. Współdzielone hosty, takie jak Bluehost, obsługują PHP 7, ale muszą być włączone ręcznie.
  7. Zarządzane hosty WordPress, takie jak WP Engine, mają solidną jak skała kompatybilność z PHP 7.

Na koniec dnia, PHP nadal się poprawia z każdym wydaniem. Jeśli używasz WordPressa wraz z popularnymi wtyczkami, możesz wiele zyskać dzięki aktualizacji do PHP 7. Jeśli jednak korzystasz z wielu niestandardowych lub rzadko aktualizowanych wtyczek, być może najlepiej będzie wstrzymać się jeszcze przez kilka miesięcy przed aktualizacją. Jednakże, konieczne jest, abyś używał PHP 5.6 i nic poniżej tego!

Już używasz PHP7 z WordPressem? Thoughts?

By Sourav Kundu

A technology enthusiast in general, Sourav enjoy learning and writing about WordPress, and is interested in marketing, psychology and all things digital. Można go osiągnąć na Twitterze.

.