Jak naprawić błędy po aktualizacji wersji PHP w WordPress

Spis treści

Wprowadzenie – aktualizacja PHP a WordPress

Aktualizacja wersji PHP to kluczowy element utrzymania bezpieczeństwa i wydajności strony WordPress, ale jednocześnie jedna z najbardziej ryzykownych operacji. Każda nowa wersja PHP wprowadza nie tylko usprawnienia, ale także zmiany, które mogą powodować problemy ze zgodnością ze starszymi wtyczkami i motywami.

Według danych WordPressa, około 40% stron działa na nieobsługiwanych wersjach PHP, co stanowi poważne zagrożenie bezpieczeństwa. Z drugiej strony, zbyt gwałtowna aktualizacja może doprowadzić do awarii strony i utraty dostępu do panelu administracyjnego.

W tym przewodniku przeprowadzę Cię przez proces diagnozowania i naprawiania problemów po aktualizacji wersji PHP. Dowiesz się, jak identyfikować przyczyny błędów, przywracać działanie strony i przygotować się na przyszłe aktualizacje w sposób kontrolowany i bezpieczny.

Najczęstsze błędy po aktualizacji PHP

Po aktualizacji wersji PHP możesz spotkać się z różnymi typami błędów. Oto najczęstsze z nich:

1. Biały ekran śmierci (White Screen of Death)

Jeden z najczęstszych problemów – strona wyświetla pustą, białą stronę bez żadnych komunikatów błędów. Zazwyczaj jest to wynik błędu krytycznego w PHP, który uniemożliwia wyrenderowanie strony.

2. Błąd 500 Internal Server Error

Ogólny błąd serwera wskazujący na problem z wykonaniem skryptu PHP. Może być spowodowany przez niekompatybilne funkcje lub błędy składniowe w kodzie.

3. Błędy składni PHP

Komunikaty typu "Parse error: syntax error, unexpected..." wskazują na użycie konstrukcji językowych, które są nieprawidłowe w nowszej wersji PHP.

4. Błędy funkcji przestarzałych (Deprecated Functions)

Nowsze wersje PHP usuwają lub zmieniają działanie niektórych funkcji. Komunikaty "Function deprecated" lub "Call to undefined function" wskazują na ten problem.

5. Problemy z połączeniem z bazą danych

Błędy typu "Error establishing a database connection" mogą wynikać z niekompatybilnych sterowników bazy danych w nowej wersji PHP.

6. Ograniczenia pamięci i czasu wykonania

Nowsze wersje PHP mogą mieć inne domyślne limity pamięci i czasu wykonania, co powoduje problemy z zasobożernymi operacjami.

Jeśli interesuje Cię szersze spojrzenie na rozwiązywanie problemów z WordPressem, polecam przeczytać artykuł: 500 Internal Server Error – jak to naprawić w WordPressie, gdzie znajdziesz więcej szczegółów na temat diagnozowania i naprawiania najczęstszych błędów WordPress.

Diagnozowanie problemów z PHP

Zanim zaczniesz naprawiać problemy, musisz dokładnie zidentyfikować ich przyczynę. Oto metody diagnostyczne:

Metoda 1: Sprawdzenie logów błędów serwera

Dostęp do logów przez panel hostingowy:

  1. Zaloguj się do panelu hostingowego (cPanel, DirectAdmin, Plesk)
  2. Znajdź sekcję "Logi błędów" lub "Error Logs"
  3. Przeglądaj najnowsze wpisy szukając komunikatów PHP
  4. Zwróć uwagę na konkretne pliki i linie, w których występują błędy

Dostęp do logów przez FTP:

Logi błędów PHP zazwyczaj znajdują się w lokalizacjach:

  • /var/log/php_errors.log (Linux)
  • /home/user/logs/error_log (hosting współdzielony)
  • /logs/php_error.log (konfiguracje niestandardowe)

Metoda 2: Włączenie trybu debugowania WordPress

Aby zobaczyć szczegółowe komunikaty błędów na stronie:

  1. Otwórz plik wp-config.php w głównym katalogu WordPressa
  2. Znajdź linie definiujące tryb debugowania
  3. Zmień wartość na true
  4. Dodaj poniższe linie, aby zapisywać błędy do pliku:

Kod konfiguracyjny do włączenia trybu debugowania WordPress:

define('WP_DEBUG', true);

define('WP_DEBUG_LOG', true);

define('WP_DEBUG_DISPLAY', false);

Metoda 3: Tworzenie pliku testowego PHP

Aby sprawdzić, czy PHP działa poprawnie:

  1. Utwórz plik test.php w głównym katalogu
  2. Dodaj do niego kod wyświetlający informacje o PHP
  3. Otwórz plik w przeglądarce (twojadomena.com/test.php)
  4. Sprawdź wersję PHP i konfigurację
  5. Pamiętaj, aby usunąć plik po testach!

Przywracanie poprzedniej wersji PHP

Gdy strona przestaje działać po aktualizacji PHP, najszybszym rozwiązaniem jest przywrócenie poprzedniej wersji.

Metoda 1: Zmiana wersji PHP w panelu hostingowym

cPanel:

  1. Zaloguj się do cPanel
  2. Znajdź "MultiPHP Manager" lub "Wybór wersji PHP"
  3. Wybierz domenę i zmień wersję PHP na poprzednią
  4. Kliknij "Zastosuj" lub "Update"

DirectAdmin:

  1. Zaloguj się do DirectAdmin
  2. Wejdź w "Select PHP Version"
  3. Wybierz starszą wersję PHP z listy
  4. Zapisz zmiany

Plesk:

  1. Zaloguj się do Plesk
  2. Wejdź w "Websites & Domains"
  3. Wybierz domenę i kliknij "PHP Settings"
  4. Zmień wersję PHP na poprzednią
  5. Kliknij "Apply" lub "OK"

Metoda 2: Kontakt z pomocą techniczną hostingu

Jeśli nie masz dostępu do zmiany wersji PHP:

  1. Skontaktuj się z pomocą techniczną hostingu
  2. Wyjaśnij problem i poproś o przywrócenie poprzedniej wersji PHP
  3. Podaj preferowaną wersję (np. PHP 7.4 lub 8.0)
  4. Poczekaj na potwierdzenie zmiany

Aktualizacja WordPressa i komponentów

Po przywróceniu działania strony należy przygotować ją do aktualizacji PHP poprzez zaktualizowanie wszystkich komponentów.

Krok 1: Aktualizacja rdzenia WordPress

  1. Zaloguj się do panelu administracyjnego WordPress
  2. Przejdź do Kokpit → Aktualizacje
  3. Jeśli dostępna jest nowa wersja WordPress, zaktualizuj ją
  4. Sprawdź, czy strona działa poprawnie po aktualizacji

Krok 2: Aktualizacja wtyczek

  1. Przejdź do Wtyczki → Wtyczki
  2. Sprawdź, które wtyczki mają dostępne aktualizacje
  3. Aktualizuj wtyczki pojedynczo, a nie wszystkie naraz
  4. Po każdej aktualizacji sprawdź, czy strona działa poprawnie

Krok 3: Aktualizacja motywu

  1. Przejdź do Wygląd → Motywy
  2. Sprawdź, czy dostępna jest aktualizacja motywu
  3. Jeśli używasz motywu potomnego, zaktualizuj motyw nadrzędny
  4. Weryfikuj, czy strona wyświetla się poprawnie

Krok 4: Sprawdzenie kompatybilności

Po aktualizacji wszystkich komponentów:

  • Sprawdź dokumentację każdej wtyczki pod kątem wymagań PHP
  • Przetestuj kluczowe funkcje strony
  • Upewnij się, że formularze działają poprawnie
  • Weryfikuj, czy procesy e-commerce działają (jeśli dotyczy)

Sprawdzanie kompatybilności wtyczek

Najczęstszym problemem po aktualizacji PHP są niekompatybilne wtyczki. Oto jak je zidentyfikować i naprawić.

Metoda 1: Użycie wtyczki do sprawdzania kompatybilności

Zainstaluj wtyczkę taką jak PHP Compatibility Checker:

  1. Zaloguj się do panelu WordPress
  2. Przejdź do Wtyczki → Dodaj nową
  3. Wyszukaj "PHP Compatibility Checker"
  4. Zainstaluj i aktywuj wtyczkę
  5. Przejdź do Narzędzia → PHP Compatibility
  6. Wybierz wersję PHP, na którą chcesz przejść
  7. Uruchom skanowanie

Metoda 2: Ręczne sprawdzanie wtyczek

Jeśli nie możesz użyć wtyczki, sprawdź kompatybilność ręcznie:

  1. Przejdź do repozytorium WordPress
  2. Wyszukaj każdą zainstalowaną wtyczkę
  3. Sprawdź zakładkę "Kompatybilność"
  4. Zanotuj wtyczki niekompatybilne z docelową wersją PHP
  5. Znajdź alternatywy lub skontaktuj się z deweloperem

Metoda 3: Testowanie przez wyłączanie wtyczek

  1. Wyłącz wszystkie wtyczki naraz
  2. Włączaj je pojedynczo, sprawdzając działanie strony
  3. Gdy znajdziesz problematyczną wtyczkę, pozostaw ją wyłączoną
  4. Szukaj aktualizacji lub alternatyw dla tej wtyczki

Metoda 4: Analiza logów błędów

Sprawdź logi błędów pod kątem konkretnych wtyczek:

Przykład komunikatu błędu z logów:

[error] [client 192.168.1.1] PHP Fatal error: Uncaught Error: Call to undefined function deprecated_function() in /wp-content/plugins/problematic-plugin/plugin.php:123

Tryb debugowania i analiza błędów

Gdy już zidentyfikujesz problematyczne elementy, użyj trybu debugowania, aby dokładnie zrozumieć błędy.

Konfiguracja zaawansowanego debugowania

Dodaj do pliku wp-config.php następujący kod:

Kod zaawansowanego debugowania WordPress:

// Enable WP_DEBUG mode

define('WP_DEBUG', true);

// Enable Debug logging to the /wp-content/debug.log file

define('WP_DEBUG_LOG', true);

// Disable display of errors and warnings

define('WP_DEBUG_DISPLAY', false);

@ini_set('display_errors', 0);

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)

define('SCRIPT_DEBUG', true);

Analiza konkretnych błędów PHP

Błędy składni (Parse Errors):

Przykład komunikatu błędu składni:

Parse error: syntax error, unexpected 'new' (T_NEW) in /wp-content/plugins/old-plugin/plugin.php on line 45

Rozwiązanie: Zaktualizuj wtyczkę lub napraw składnię ręcznie.

Funkcje przestarzałe (Deprecated Functions):

Przykład komunikatu o przestarzałej funkcji:

Deprecated: Function create_function() is deprecated in /wp-content/themes/old-theme/functions.php on line 123

Rozwiązanie: Zastąp przestarzałą funkcję nowym odpowiednikiem.

Błędy typu (Type Errors):

Przykład błędu typu:

TypeError: Argument 1 passed to some_function() must be of the type string, null given in /wp-content/plugins/plugin/plugin.php on line 67

Rozwiązanie: Zapewnij prawidłowy typ danych przekazywany do funkcji.

Narzędzia do debugowania

  • Query Monitor – monitoruje zapytania do bazy danych i błędy PHP
  • Debug Bar – dodaje panel debugowania do paska administracyjnego
  • Log Viewer – przegląda logi WordPress bezpośrednio w panelu

Optymalizacja konfiguracji serwera

Czasami problemy po aktualizacji PHP wynikają z nieoptymalnej konfiguracji serwera. Oto jak ją dostosować.

Zwiększenie limitów pamięci

Nowsze wersje PHP mogą wymagać więcej pamięci:

Metoda 1: Plik wp-config.php

define('WP_MEMORY_LIMIT', '512M');

Metoda 2: Plik .htaccess

php_value memory_limit 512M

Metoda 3: Plik php.ini

memory_limit = 512M

Zwiększenie czasu wykonania skryptów

Dla operacji wymagających więcej czasu:

Metoda 1: Plik .htaccess

php_value max_execution_time 300

php_value max_input_time 300

Metoda 2: Plik php.ini

max_execution_time = 300

max_input_time = 300

Konfiguracja rozszerzeń PHP

Upewnij się, że wymagane rozszerzenia są włączone:

  • mysqli – dla bazy danych MySQL
  • gd – dla przetwarzania obrazów
  • curl – dla zapytań HTTP
  • xml – dla przetwarzania XML
  • mbstring – dla wielobajtowych ciągów znaków

Weryfikacja konfiguracji

Aby sprawdzić aktualną konfigurację PHP:

  1. Utwórz plik info.php z kodem wyświetlającym informacje o PHP
  2. Otwórz go w przeglądarce
  3. Sprawdź wersję PHP i załadowane rozszerzenia
  4. Usuń plik po sprawdzeniu!

Przygotowanie do przyszłych aktualizacji

Aby uniknąć problemów w przyszłości, przygotuj stronę do aktualizacji PHP w sposób kontrolowany.

Tworzenie środowiska testowego (staging)

  1. Stwórz kopię strony na subdomenie (np. test.twojadomena.com)
  2. Zainstaluj identyczną konfigurację serwera
  3. Przeprowadź aktualizację PHP na środowisku testowym
  4. Przetestuj wszystkie funkcje strony
  5. Napraw problemy przed wdrożeniem na produkcji

Regularne aktualizacje komponentów

  • WordPress – aktualizuj w ciągu 30 dni od wydania
  • Wtyczki – sprawdzaj aktualizacje co tydzień
  • Motywy – aktualizuj regularnie
  • PHP – planuj aktualizacje co 6-12 miesięcy

Monitorowanie kompatybilności

Zainstaluj narzędzia monitorujące:

  • PHP Compatibility Checker – regularne skanowanie
  • Health Check – wbudowane narzędzie WordPress
  • Site Health Monitoring – monitorowanie stanu strony

Planowanie aktualizacji

  1. Wybierz odpowiedni moment – poza godzinami szczytu
  2. Informuj użytkowników – o planowanej przerwie
  3. Miej plan awaryjny – szybki powrót do poprzedniej wersji
  4. Dokumentuj proces – na przyszłość

Podsumowanie – bezpieczna aktualizacja PHP

Aktualizacja wersji PHP w WordPress może być stresująca, ale z odpowiednim przygotowaniem i planowaniem staje się bezpieczna i korzystna dla strony.

Najważniejsze kroki w razie problemów:

  1. Przywróć poprzednią wersję PHP – aby strona działała
  2. Zidentyfikuj problematyczne elementy – przez logi i debugowanie
  3. Zaktualizuj WordPress i wtyczki – do kompatybilnych wersji
  4. Przetestuj na środowisku staging – przed wdrożeniem
  5. Wdróż zmiany stopniowo – z planem awaryjnym

Checklista bezpiecznej aktualizacji PHP:

Przed aktualizacją:

  • Zrób pełną kopię zapasową (pliki + baza danych)
  • Sprawdź kompatybilność wtyczek i motywu
  • Stwórz środowisko testowe
  • Przetestuj aktualizację na staging

Podczas aktualizacji:

  • Wybierz odpowiedni moment (poza godzinami szczytu)
  • Miej przygotowany plan powrotu
  • Monitoruj proces aktualizacji
  • Sprawdzaj logi błędów

Po aktualizacji:

  • Przetestuj wszystkie funkcje strony
  • Sprawdź wydajność i szybkość
  • Weryfikuj działanie formularzy
  • Monitoruj logi przez kilka dni

Pamiętaj:

Aktualizacje PHP są niezbędne dla bezpieczeństwa i wydajności, ale wymagają ostrożności. Zawsze miej aktualną kopię zapasową i plan awaryjny. Regularne, małe aktualizacje są bezpieczniejsze niż rzadkie, duże skoki wersji.

Z odpowiednim przygotowaniem i planowaniem aktualizacja PHP przestaje być ryzykowna, a staje się standardowym elementem utrzymania strony w dobrej kondycji technicznej.

Potrzebujesz profesjonalnej pomocy z aktualizacją PHP lub rozwiązywania problemów z WordPressem? Chętnie pomogę Ci bezpiecznie zaktualizować wersję PHP i dostosować stronę do nowych wymagań. Skontaktuj się z nami, aby uzyskać profesjonalne wsparcie techniczne.