Co to jest PHP 7 i jak zacząć go używać z WordPressem?
- By Sourav Kundu
- May 15, 2019
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.
- Skrypt(y) PHP
- Silnik PHP
- Serwer
- Wyjściowy HTML
Zobaczmy teraz, jak odnoszą się one do typowego środowiska WordPress.
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?
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 działało prawie dwa razy lepiej niż PHP 5.6, przy uruchomionym WordPressie 4.1.1.
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
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.
Przyjęliśmy trzy punkty danych oparte na liczbie współbieżnych użytkowników dla każdego silnika PHP.
- Pomarańczowe słupki reprezentują opóźnienie, gdy dziesięć osób jednocześnie korzysta z twojej strony.
- Niebieskie słupki są dla podwójnej liczby użytkowników (tj. 20 użytkowników jednocześnie).
- 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
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.
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 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
Jason Cosper, nerd-rezydent w WP Engine, uwielbia bawić się najnowszymi silnikami PHP, aby sprawdzić, które z nich działają najlepiej.
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.
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
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
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.
Jeśli jesteś na PHP 5.6, jest kilka rzeczy, które wkrótce nadejdą w twoim kierunku:
- Zgodnie z oficjalną osią czasu wsparcia PHP, PHP 5.6 otrzymałoby oficjalne wsparcie do 17 stycznia 2017 roku. To już koniec.
- W lepszych wiadomościach, PHP 5.6 otrzyma wsparcie bezpieczeństwa do 31 grudnia 2018 roku.
- 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?
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?
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?
Na szczęście hojni deweloperzy z WP Engine stworzyli dość niesamowitą wtyczkę, która rozwiązuje ten właśnie problem.
Wprowadzenie PHP Compatibility Checker: Wtyczka, która skanuje twoją bazę kodu WordPress i aktywne wtyczki motywu w poszukiwaniu znanych problemów z kompatybilnością.
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.
(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ń:
- Wtyczka nie może wykryć problemów ze zgodnością runtime, ponieważ nie wykonuje żadnego z istniejących motywów i wtyczek.
- Polega na WP-Cron do skanowania plików w tle, więc WP-Cron musi być włączony i działać na serwerze.
- 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.
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?
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.
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
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?
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
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:
- Innowacyjna technologia WordPress.
- Blaskotliwie szybkie serwery zdolne do obsługi setek milionów żądań dziennie.
- Bezpieczeństwo hardcore z zaawansowaną ochroną DDoS.
- 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:
- PHP zasila 82% Internetu, zasilając strony takie jak Facebook i WordPress.
- Zalecana minimalna wersja PHP to 5.6 – wszystko poniżej tej wersji jest wielkim nie-nie!
- 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.
- Przełączenie WordPressa na PHP 7 przynosi do domu mnóstwo korzyści bez żadnych inwestycji.
- 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.
- Współdzielone hosty, takie jak Bluehost, obsługują PHP 7, ale muszą być włączone ręcznie.
- 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
.