Przejdź do treści
WordPress i Strony WWW

Problemy z PHP w WordPress: diagnoza i kontrolowana naprawa

Publikacja: Aktualizacja:
Przejdź do rozwiązania
Jasna ilustracja pracy nad stroną WordPress

Krótka odpowiedź

Błąd PHP w WordPress diagnozuj od logu właściwego żądania: odczytaj klasę błędu, plik, linię i czas. Porównaj wersję PHP oraz ostatnie zmiany kodu i konfiguracji.

Naprawę sprawdź na odizolowanej kopii z planem wycofania. Sam komunikat Fatal error nie uzasadnia zwiększania wszystkich limitów, wyłączania wszystkich wtyczek ani przełączenia na najnowsze PHP bez kontroli zgodności.

Biała strona po aktualizacji nie mówi jeszcze, który element trzeba naprawić. Potrzebujesz komunikatu z logu, wersji PHP i informacji o ostatniej zmianie. Dopiero te dane pozwalają odróżnić błąd składni od brakującej zależności, limitu zasobów albo niezgodności wtyczki.

W tym poradniku

Jaką wersję PHP wybrać dla WordPressa w 2026 roku?

Wersję PHP dobierz jednocześnie do okresu wsparcia i zgodności używanego kodu. Według oficjalnego harmonogramu PHP na 14 września 2026 r. PHP 8.2 i 8.3 mają wsparcie obejmujące poprawki bezpieczeństwa, natomiast 8.4 i 8.5 pozostają w okresie aktywnego wsparcia. Aktywne wsparcie 8.3 zakończyło się 31 grudnia 2025 r., a poprawki bezpieczeństwa przewidziano do 31 grudnia 2027 r.

Wymagania WordPressa, WooCommerce i wtyczek mogą się różnić. Dokumentacja serwera WooCommerce odnosi wymagania do wskazanej wersji sklepu. Zgodność starszego kodu z interpreterem nie jest tym samym co dalsze wsparcie bezpieczeństwa interpretera. Z kolei obecność najnowszej wersji w panelu hostingu nie dowodzi zgodności wszystkich rozszerzeń.

Przed wyborem sporządź listę rdzenia, motywu, wtyczek i własnych fragmentów PHP. Sprawdź deklaracje autorów, wymagane rozszerzenia PHP oraz rzeczywiste próby na kopii. Aktualizacja nie ma gwarantowanego procentu przyspieszenia. Jeżeli celem jest wydajność, porównaj ten sam proces na tych samych danych i warunkach, oddzielając odczyt z cache od wykonania PHP.

PHP: błąd, przyczyna i próba: rozpoznanie, izolacja, odbiór.
Autorski schemat KC Mobile. Zacznij od konkretnego objawu oraz logu.

Podaj adres strony, objaw błędu i informację, od kiedy występuje. Jeśli problem pojawił się po zmianie lub aktualizacji, wspomnij o niej. Na początek wystarczy opis; nie przesyłaj haseł. Opisz problem z WordPressem

Jak odczytać log i rozpoznać źródło błędu?

Zapisz godzinę wystąpienia, adres i czynność użytkownika. Log serwera może zawierać błędy różnych aplikacji, dlatego pojedynczy wpis bez kontekstu łatwo przypisać do niewłaściwego zdarzenia. Sprawdź, czy problem dotyczy tylko panelu, określonej podstrony czy również zadań wykonywanych w tle. Potrzebny jest log środowiska obsługującego tę czynność, nie dowolny plik o nazwie error.log.

WordPress może korzystać z WP_DEBUG_LOG, a hosting udostępniać własne logowanie PHP. Nie pokazuj szczegółów błędów publicznym odwiedzającym. Plik diagnostyczny przechowuj poza publicznym katalogiem lub zabezpiecz przed odczytem z internetu. Ogranicz dostęp, czas przechowywania i zakres danych. Przed przekazaniem fragmentu usuń hasła, tokeny oraz dane klientów.

Przykładowy komunikat Call to undefined function get_field wskazuje na wywołanie niedostępnej funkcji. Może chodzić o zależność ACF, kolejność ładowania lub sposób odwołania do funkcji. Sama nazwa nie dowodzi, że wystarczy aktywować jedną wtyczkę. Plik i linia wskazują miejsce ujawnienia problemu, nie zawsze jego pierwotną przyczynę. Gdy widzisz pusty ekran, pomocny jest też poradnik o diagnozie WSOD.

Czym różnią się fatal error, parse error i deprecated?

Fatal error oznacza błąd przerywający dany przebieg wykonania. W komunikacie może pojawić się brak funkcji, nieobsłużony wyjątek lub wyczerpana pamięć. Te przypadki wymagają różnych działań. Aktualizacja wtyczki może usunąć konkretny błąd, ale bez potwierdzenia nie zakładaj, że rozwiąże dowolny problem PHP.

Parse error dotyczy składni. Może pojawić się podczas ładowania konkretnego pliku, nawet jeśli wcześniejsza część programu zdążyła wykonać inne operacje. Po ręcznej edycji porównaj zmianę i sprawdź składnię właściwym interpreterem. Lint sprawdza składnię bez uruchamiania logiki aplikacji; nie potwierdza zgodności zależności ani działania formularza. Własne fragmenty porządkuj zgodnie z zasadami dodawania kodu do WordPressa.

Deprecated informuje o zachowaniu wycofywanym z użycia. W zwykłym trybie sam komunikat nie zatrzymuje programu, lecz własny handler błędów, publiczny wydruk lub nadmierne logowanie mogą wpływać na rezultat. Dokumentacja zmian PHP 8.1 opisuje między innymi utratę precyzji przy niejawnej konwersji float do int. Nie jest to uniwersalny fatal error. Nie ustalaj arbitralnego progu ostrzeżeń, poniżej którego można zignorować niezgodność. Zapisz źródło, wpływ i plan poprawki zamiast traktować wyciszenie jako naprawę.

Kiedy badać limity pamięci, czasu i przesyłanych danych?

Allowed memory size exhausted wskazuje na osiągnięcie limitu pamięci w danym wykonaniu. Sprawdź efektywny limit i operację, która do niego doszła. Duży import może wymagać podziału pracy na porcje; zapętlony kod nie stanie się poprawny po przydzieleniu kolejnych zasobów. Szczegółową diagnozę znajdziesz w poradniku o PHP memory limit.

Limit czasu może pochodzić z PHP, serwera pośredniczącego albo zewnętrznego połączenia. Rozróżnij przerwanie skryptu od oczekiwania na odpowiedź bazy czy API. Samo zwiększenie max_execution_time nie zmieni wszystkich pozostałych ograniczeń. Podobnie upload_max_filesize dotyczy pliku, a post_max_size całego żądania, które zawiera również narzut i pozostałe pola.

Nie ma uniwersalnej hierarchii ustawień panelu, php.ini, .htaccess i wp-config.php. Dostępność zmiany zależy od SAPI oraz trybu konkretnej dyrektywy. To, co odczytasz w CLI, może różnić się od procesu obsługującego stronę. Przed zmianą potwierdź właściwe środowisko z administratorem hostingu. Nie kopiuj starych dyrektyw rozszerzenia mysql do współczesnej konfiguracji mysqli ani całego zestawu wysokich limitów z przypadkowego poradnika.

Jak przetestować zmianę PHP i przygotować wycofanie?

Przygotuj spójną kopię plików i bazy oraz sprawdzony sposób odtworzenia. Kopia sprzed zmiany nie gwarantuje, że późniejsze zamówienia lub edycje da się bezpiecznie zastąpić. Ustal punkt przywrócenia i sposób zachowania danych powstałych w trakcie prac. Do próby użyj środowiska, które nie wysyła prawdziwych wiadomości, płatności ani zgłoszeń do integracji.

Na kopii porównaj wersję PHP, rozszerzenia i efektywne ustawienia z planowaną produkcją. Sprawdź krytyczne ścieżki: panel, edycję, wyświetlanie treści oraz operacje zależne od wtyczek. Testy formularzy i sklepu muszą korzystać z przechwyconych wysyłek lub odpowiedniego sandboxa. Samo otwarcie strony głównej może ominąć kod, który uruchamia się dopiero przy zapisie lub zadaniu cyklicznym.

Sumy kontrolne potwierdzają zgodność plików z danym wzorcem, nie kompatybilność z PHP. Skan statyczny również nie zastępuje prób działania. Zmieniaj jeden rozpoznany czynnik naraz; nie wyłączaj wszystkich wtyczek na produkcji jako ogólnej metody naprawy. W obsłudze WordPressa plan odbioru i wycofania powinien powstać przed przełączeniem wersji, a wynik pozostać zapisany dla osoby przejmującej utrzymanie.

Co sprawdzić w OPcache i kiedy przekazać problem dalej?

OPcache przechowuje skompilowany kod PHP. Po zmianie plików sposób odświeżenia zależy od konfiguracji procesu i wdrożenia. Dokumentacja OPcache opisuje dyrektywy oraz ich dostępność w wersjach; opcache.fast_shutdown usunięto w PHP 7.2, więc nie należy dopisywać go do konfiguracji współczesnej instalacji.

OPcache w CLI nie jest automatycznie tym samym cache co w PHP-FPM. Restart wspólnej usługi może wpłynąć na inne witryny. Nie publikuj otwartego skryptu opcache_reset i nie traktuj restartu jako neutralnej pierwszej próby. Administrator powinien ustalić zakres puli, sposób wdrażania kodu oraz właściwe odświeżenie. Parametry liczby procesów FPM dobiera się do obciążenia i zasobów, nie wyłącznie liczby wizyt.

Do wsparcia przekaż wersje, czas zdarzenia, oczekiwany rezultat, zanonimizowany log i listę już wykonanych działań. Jeśli problem dotyczy własnego kodu lub integracji, zapisz także zależności. Skontaktuj się z KC Mobile, aby ustalić zakres diagnozy i naprawy. Dalsza obsługa może obejmować małe pakiety godzinowe. Zakres prac oraz warunki SLA ustalamy indywidualnie, na podstawie potrzeb witryny.

Wspomniane narzędzia

PHPWP_DEBUG_LOGOPcache

Najczęściej zadawane pytania

Którą wersję PHP wybrać w 2026 roku?
Wersję PHP dla WordPressa wybierz po sprawdzeniu wsparcia interpretera i zgodności całej instalacji. We wrześniu 2026 PHP 8.2 i 8.3 otrzymują poprawki bezpieczeństwa, a 8.4 i 8.5 mają wsparcie aktywne. Nie oznacza to automatycznej zgodności każdej wtyczki. Sprawdź wymagania używanych wersji i wykonaj próbę na kopii przed przełączeniem środowiska obsługującego rzeczywistych użytkowników.
Co zrobić po komunikacie Fatal error?
Fatal error w WordPressie wymaga odczytu konkretnego komunikatu, pliku, linii i czasu zdarzenia. Porównaj go z ostatnią zmianą PHP, wtyczki lub własnego kodu. Nie zwiększaj limitów ani nie wyłączaj całej instalacji bez rozpoznania przyczyny. Naprawę odtwórz na kopii, przygotuj wycofanie i sprawdź tę ścieżkę, która wywołała błąd, a nie tylko widok strony głównej.
Czy komunikaty deprecated można zignorować?
Komunikat deprecated w PHP wskazuje zachowanie wycofywane z użycia i wymaga oceny źródła oraz wpływu. Zwykle sam nie zatrzymuje programu, ale obsługa błędów, wydruk odpowiedzi i wielkość logów mogą zmienić działanie aplikacji. Sprawdź plan poprawki zależności i docelową wersję PHP. Wyciszenie komunikatów nie usuwa niezgodności, a uniwersalny limit ostrzeżeń dziennie nie określa bezpieczeństwa instalacji.
Czy sumy kontrolne potwierdzają zgodność wtyczki z PHP?
Sumy kontrolne wtyczki sprawdzają zgodność plików z określonym wzorcem, a nie jej działanie na wybranej wersji PHP. Do oceny kompatybilności potrzebujesz dokumentacji, analizy kodu i prób na kopii z właściwymi rozszerzeniami oraz ustawieniami. Również poprawny lint potwierdza tylko składnię. Odbiór powinien obejmować używane funkcje wtyczki, w tym operacje uruchamiane w tle lub podczas zapisu.
Jakie dane przekazać przy zgłoszeniu błędu PHP?
Zgłoszenie błędu PHP powinno zawierać czas zdarzenia, adres, czynność, wersje środowiska i zanonimizowany fragment logu. Dopisz ostatnie zmiany oraz działania już podjęte, żeby wsparcie nie powtarzało ryzykownych prób. Nie wklejaj tokenów, haseł i danych klientów. Wskaż dostępność kopii oraz środowiska testowego; informacja o oczekiwanym wyniku pomaga oddzielić awarię od zmiany zachowania konkretnej funkcji.
#PHP WordPress#fatal error#deprecated#memory limit#OPcache#zgodność PHP
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

Founder & Technical Lead, KC Mobile

Projektuję i rozwijam strony WordPress, sklepy WooCommerce oraz aplikacje internetowe. Łączę projektowanie z programowaniem, integracjami i technicznym SEO. Projekty KC Mobile prowadzę osobiście.

Potrzebujesz pomocy z tym tematem? Napisz - odpowiem osobiście w 24h.

Ustalmy, co wymaga naprawy

Podaj adres strony, objaw błędu i informację, od kiedy występuje. Jeśli problem pojawił się po zmianie lub aktualizacji, wspomnij o niej. Na początek wystarczy opis; nie przesyłaj haseł.