Jakiś czas temu przez formularz kontaktowy zwróciła się do mnie pewna dziewczyna od bloga kulinarnego, że „coś tam, coś tam na hostingu” i teraz zamiast strony (WordPress) wyświetla jej się biały ekran śmierci. I choć od niedawna WordPress posiada zabezpieczenie przed tego typu problemami (nie zawsze działa, ale jest… ;-)), to na stronie działał WordPress w wersji 4.9.x, a więc ostatniej sprzed ery Gutenberga (nadal wspierany). Z racji tego, że nie było czasu do stracenia, ustaliliśmy kwotę wynagrodzenia i przystąpiłem do reanimacji kulinarnego WordPressa…
WordPress i biały ekran śmierci po zmianie na PHP 7.2 (7.3)
Szybko udało się ustalić, że problemem jest wersja PHP, która na hostingu została zmieniona z archaicznej 5.6, na jedną z najnowszych, czyli 7.2 – ruch jak najbardziej zasadny, ale czasem może sprawić problemy. Podejrzenia potwierdziły się po (chwilowej) zmianie wersji PHP na 5.6, bo strona odżyła od razu.
I choć mógłbym w tym momencie z dumą obwieścić, że problem rozwiązany, a tym samym mogę wystawić fakturę VAT, to zdecydowanie nie byłoby to w porządku. Zwłaszcza że tego typu problem (np. biały ekran po przejściu na PHP 7.x) można rozwiązać relatywnie prosto. Zwłaszcza w przypadku hostingu, na którym działała strona.
W opisywanym przypadku należało aktywować rozszerzenie PHP „nd_mysqli” (w ustawieniach wersji PHP w cPanelu), którego wymagał akurat używany na stronie motyw. Z doświadczenia wiem, że często się zdarza, że strona do prawidłowego działania może wymagać również rozszerzenia „nd_pdo_mysql”. Wprawdzie zdarza się to coraz rzadziej, to jeszcze jak widać, są strony, gdzie taka modyfikacja modułów może być wymagana…
- Home Assistant 2024.11, czyli „sekcje” domyślnym widokiem z opcją migracji, WebRTC oraz wirtualna kamera - 1970-01-01
- Black Friday w ZUS, czyli jest jeszcze kilka dni, by złożyć wniosek RWS i skorzystać z wakacji składkowych płacąc ZUS za grudzień 2024 - 1970-01-01
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
Dobrze, że wyłączyłem automatyczną aktualizację. :)
Tutaj nie zawiniła aktualizacja WordPressa, tylko odgórna zmiana domyślnej wersji PHP na hostingu i brak zgodności z tą wersją używanego na stronie motywu. A konkretnie korzystanie z funkcji, która wymagała rozszerzenia, które w PHP 7.x nie jest (domyślnie) aktywne.
A co to za moduły?
Hm… Są to w pewnym sensie sterowniki bazy danych (PHP <-> MySQL).