Na WPzen od zawsze namawiam do korzystania z możliwie nowych (a na pewno ze wciąż wspieranych) wersji interpretera PHP – czyli na tę chwilę z 5.6, 7.0 lub 7.1. Ogólnie można przyjąć, że użytkownicy WordPressa dość niefrasobliwie podchodzą do tematu, ale na szczęście powoli się to zmienia. W lipcu ubiegłego roku z niewspieranych wersji PHP korzystało prawie 80% instalacji tego CMSa, a 10 miesięcy później już „tylko” nieco ponad 50%.
Jedną z najczęstszych przyczyn trzymania się starej wersji PHP jest obawa o kompatybilność strony z nowszą wersją interpretera. Problem ten jest szczególnie poważny w przypadku większych serwisów z dużą liczbą zainstalowanych wtyczek i/lub z wtyczkami i motywem pisanymi na zamówienie. Na szczęście istnieje prosty sposób na sprawdzenie czy nasza strona będzie bez problemu działać z nowszą wersją PHP.
Po co korzystać z nowszej wersji PHP?
Ze wspieranych przez twórców wersji interpretera PHP powinniśmy korzystać przede wszystkim dlatego, że tylko dla tych wersji przygotowywane są poprawki, w tym również te związane z bezpieczeństwem.
Jeśli wciąż korzystamy z PHP w wesji 5.x (wersja 5.6 jest wciąż wspierana), to warto rozważyć przejście na nowszą wersję 7.0 lub 7.1. Z punktu widzenia użytkownika główną zaletą jest zauważalny wzrost wydajności – z testów wynika, że nawet dwukrotny! Oczywiście nie oznacza to, że nasza strona będzie ładować się dwa razy szybciej, bo czynników o tym decydujących jest znacznie więcej, ale każda poprawka wydajności jest dla nas cenna.
Sprawdzamy czy nasza strona zadziała z PHP 7
Oczywiście najpewniejszą metodą na sprawdzenie kompatybilności naszej strony z nowszą wersją PHP jest stworzenie roboczej kopii serwisu i samodzielne jej przetestowanie. Nie wszyscy jednak mogą, chcą lub potrafią to zrobić. Na szczęście istnieje mniej pracochłonna i znacznie prostsza metoda – wystarczy skorzystać z darmowej wtyczki PHP Compatibility Checker.
Wtyczkę instalujemy na stronie, którą chcemy przetestować. Po aktywacji rozszerzenia w panelu administracyjnym przechodzimy do sekcji Narzędzia → PHP Compatibility.
Wtyczka daje nam możliwość sprawdzenia kompatybilności naszej strony z różnymi wersjami PHP, dzięki czemu przyda się ona również osobom, które utknęły na starych i niewspieranych wersjach interpretera (starszych niż 5.6). Niestety, wtyczka nie ma opcji sprawdzania kompatybilności strony z PHP 7.1.
Po wybraniu interesującej nas wersji PHP określamy, czy narzędzie ma przeskanować wszystkie zainstalowane wtyczki i motywy (Scan all plugins and themes) czy tylko te aktywne (Only scan active plugins and themes), a następnie klikamy przycisk Scan site.
Po zakończeniu skanowania wtyczka wyświetli listę sprawdzonych wtyczek i motywów wraz z informacjami o ich kompatybilności w wybraną wersją PHP.
Na zamieszczonym powyżej zrzucie ekranu widać, że jedna z wtyczek nie przeszła testu – o ile cztery ostrzeżenia (warnings) można zignorować, o tyle dwóch błędów (errors) już nie. Kliknięcie linku toggle details pozwala na zapoznanie się ze szczegółowymi informacjami na temat znalezionych problemów.
I tu niestety zła wiadomość: osoby nie będące programistami z większością problemów po prostu sobie nie poradzą. Widoczny raport można jednak skopiować i wysłać autorowi motywu lub wtyczki, który z pewnością będzie wiedział co zrobić.
Wtyczka nie jest oczywiście idealna. Zdarza się, że niepotrzebnie zgłasza ona problem z jakimś rozszerzeniem (false positive), ale to nie do uniknięcia w przypadku na przykład fragmentów kodu odpowiedzialnych za wsteczną kompatybilność ze starszymi wersjami PHP. Może się również zdarzyć, że mimo braku wykrytych problemów po przejściu na nowszą wersję PHP coś jednak przestanie działać. Nie zmienia to jednak faktu, że narzędzie to może przydać się do wczesnego wykrywania potencjalnych błędów i poprawianie ich zanim pojawią się na produkcyjnej wersji naszej strony.