Błąd 500 WordPress i biały ekran: kto co sprawdza, ty, hosting czy developer

Błąd 500 w WordPress to ogólna odpowiedź serwera: strony nie dało się zbudować. Najczęstsze przyczyny to wtyczka po aktualizacji, uszkodzony plik .htaccess, za mały limit pamięci PHP albo zła wersja PHP. Sam sprawdzisz ostatnie zmiany, .htaccess i wtyczki w menedżerze plików. Dziennik błędów serwera czyta hosting, a kod poprawia developer.

Autor: Zespół TellMyShop. Piszemy o PrestaShop na podstawie pracy z zapleczem prawdziwych sklepów i testów na własnym sklepie testowym.
Aktualizacja: · 4 min czytania

Rozpoznaj objaw w minutę

Zanim cokolwiek zmienisz, sprawdź, gdzie dokładnie jest błąd. Od tego zależy, czy zaczynasz sam, czy dzwonisz do hostingu.

ObjawNajczęstsza przyczynaZaczyna
Cała strona i /wp-admin dają 500.htaccess, wtyczka, wersja PHPty, potem hosting
Biały ekran bez żadnego tekstubłąd PHP przy wyłączonym wyświetlaniu błędówty, potem hosting
Komunikat „W witrynie wystąpił błąd krytyczny”wtyczka albo motywzobacz poradnik o błędzie krytycznym
500 tylko przy jednej czynności, na przykład zapisie albo koszykuwtyczka, brak pamięci, limit czasuty z dziennikiem, potem developer
500 pojawia się i znika przy dużym ruchulimity serwerahosting
502 albo 504 zamiast 500serwer nie dostał odpowiedzi od PHP na czashosting

Jeśli widzisz komunikat o błędzie krytycznym, przejdź do osobnego poradnika: tam jest tryb odzyskiwania z e-mailem od WordPressa. Ten tekst dotyczy sytuacji, gdy dostajesz goły błąd 500 albo biały ekran.

Ty: pierwsze dziesięć minut

Te kroki zrobisz w panelu hostingu, bez programisty. Po każdym otwórz stronę w oknie prywatnym.

  1. Przypomnij sobie ostatnią zmianę. Aktualizacja wtyczki, nowa wtyczka, zmiana wersji PHP w panelu hostingu, edycja .htaccess przez wtyczkę bezpieczeństwa albo cache. Błąd 500 rzadko pojawia się bez powodu.
  2. Sprawdź plik .htaccess. W menedżerze plików hostingu, w katalogu strony, włącz pokazywanie plików ukrytych. Zmień nazwę .htaccess na .htaccess-stary. Jeśli strona wróci, zaloguj się i wejdź w Ustawienia, Bezpośrednie odnośniki, Zapisz zmiany. WordPress utworzy nowy, czysty plik.
  3. Wyłącz wtyczki przez zmianę nazwy folderu. W wp-content zmień nazwę folderu plugins na plugins-wylaczone. Jeśli strona wróci, przywróć nazwę i włączaj wtyczki po jednej w kokpicie, aż błąd wróci. Ostatnio włączona jest winna.
  4. Cofnij zmianę wersji PHP. Jeśli przed błędem zmieniałeś wersję PHP w panelu hostingu, wróć do poprzedniej.
  5. Zrób zrzut ekranu i zapisz godzinę. Przydadzą się, jeśli musisz napisać do hostingu.

Czego nie robić: nie przywracaj całej kopii z bazą danych w sklepie, nie usuwaj wtyczek, tylko zmieniaj nazwy folderów, i nie wgrywaj ponownie WordPressa na ślepo.

Hosting: o co poprosić i co podać

Hosting widzi to, czego ty nie widzisz: dziennik błędów serwera, limity pamięci i czasu, wersję PHP i obciążenie. Kod 500 sam w sobie celowo nie mówi, co się stało, dlatego dokumentacja WooCommerce o zdobywaniu informacji przy błędzie 500 radzi podać hostingowi dokładny adres i czas błędu.

Wiadomość do hostingu może wyglądać tak:

  • adres strony, który daje błąd 500, i od kiedy,
  • dokładna godzina ostatniego wystąpienia,
  • co zmieniło się tuż przed błędem,
  • co już sprawdziłeś: .htaccess, wtyczki, wersja PHP,
  • prośba o fragment dziennika błędów serwera z tego czasu.

Typowe odpowiedzi hostingu to brak pamięci PHP, przekroczony czas wykonania, błędna składnia w .htaccess albo wersja PHP niezgodna z wtyczką. Listę takich przyczyn zbiera też poradnik Rackspace.

Developer: kiedy jest potrzebny

Developera potrzebujesz, gdy dziennik wskazuje błąd w kodzie: we własnym motywie, w dopisanym fragmencie w functions.php albo we wtyczce, której autor nie wydaje poprawek. Developer włącza zapis błędów do pliku debug.log z wyłączonym wyświetlaniem ich odwiedzającym. Ustawienia opisuje dokumentacja debugowania WordPressa.

W dwóch zdaniach zadanie dla developera brzmi tak: „Od tej daty strona zwraca 500 przy tej czynności, a dziennik pokazuje ten błąd. Proszę o poprawkę w kodzie albo wskazanie zamiennika wtyczki”.

Jak Claude pomaga, gdy strona częściowo działa

Wtyczka TellMyShop dla WordPress i WooCommerce działa wewnątrz WordPressa. Gdy cała strona daje 500, połączenia z Claude nie będzie i pierwszą pomoc robisz według kroków powyżej. Claude przydaje się w dwóch innych sytuacjach: gdy błąd dotyczy tylko części strony i po naprawie, gdy trzeba ustalić, co się stało.

W darmowej wersji TellMyShop Free Claude czyta zgrupowane błędy PHP, WordPressa i WooCommerce z ostatnich dni, kondycję witryny z wersją PHP i listę wtyczek z wersjami. Otwiera też wybrane adresy jak odwiedzający i pokazuje kod odpowiedzi. Dzięki temu wiadomość do hostingu albo developera piszesz z konkretami.

Ty

Przy zapisie dłuższych wpisów wyskakuje błąd 500. Krótkie zapisują się normalnie.

Claude

W dzienniku z ostatnich 3 dni jest 14 wpisów „Allowed memory size exhausted” przy zapisie wpisu. Wszystkie wskazują na wtyczkę Przykładowy Optymalizator Obrazów, która przy zapisie przetwarza zdjęcia we wpisie.

Claude

Kondycja witryny: limit pamięci PHP jest niski. Dwie drogi: poprosić hosting o wyższy limit albo wyłączyć tę wtyczkę. Podgląd wyłączenia:

było: Przykładowy Optymalizator Obrazów: włączona

będzie: Przykładowy Optymalizator Obrazów: wyłączona

Ty

Wyłącz. Z hostingiem porozmawiam jutro.

Claude

Wyłączona. Strona główna i kokpit odpowiadają poprawnie. Spróbuj teraz zapisać ten długi wpis. Wtyczkę włączysz z powrotem z historii zmian.

Ilustracja: produkty, liczby i odpowiedzi są przykładowe.

Nazwa wtyczki i liczby w tej rozmowie są przykładowe. Wyłączenie wtyczki działa w TellMyShop Pro po włączeniu przełącznika Wtyczki, który działa 24 godziny i wymaga dzisiejszej kopii bazy. Przed zmianą Claude pokazuje podgląd i mówi, co może przestać działać. Plików .htaccess i wp-config.php wtyczka nie zmienia nigdy, więc limitu pamięci ani reguł serwera Claude nie poprawi. Te zostają po stronie hostingu.

Jeśli błąd pojawił się tuż po aktualizacji, przeczytaj też, co zrobić, gdy WordPress po aktualizacji nie działa. Darmową wersję pobierzesz na stronie TellMyShop Free, a różnice z Pro sprawdzisz w cenniku. Więcej poradników znajdziesz na blogu.

Pytania i odpowiedzi

Czym różni się błąd 500 od komunikatu o błędzie krytycznym?

Komunikat „W witrynie wystąpił błąd krytyczny” pokazuje sam WordPress, gdy wtyczka albo motyw zatrzyma się z błędem PHP. Błąd 500 to ogólna odpowiedź serwera, która może pojawić się, zanim WordPress w ogóle ruszy, na przykład przez uszkodzony .htaccess albo limity serwera. Biały ekran to często ten sam błąd, tylko bez żadnego komunikatu.

Czy błąd 500 oznacza, że straciłem dane?

Prawie nigdy. Wpisy, strony i zamówienia są w bazie danych, a błąd 500 mówi tylko, że serwer nie zdołał zbudować strony. Nie przywracaj na szybko całej kopii z bazą, bo w sklepie skasujesz zamówienia złożone po jej wykonaniu.

Co napisać do hostingu przy błędzie 500?

Podaj adres, pod którym występuje błąd, dokładną godzinę i to, co zmieniło się tuż przed nim. Poproś o sprawdzenie dziennika błędów serwera z tego czasu. Dokumentacja WooCommerce radzi właśnie tak, bo sam kod 500 celowo nie mówi, co się stało.

Błąd 500 pojawia się tylko przy jednej czynności. Co to znaczy?

Że strona w ogóle działa, a problem siedzi w jednym miejscu: przy zapisie wpisu, w koszyku, przy imporcie albo w kokpicie jednej wtyczki. To dobra wiadomość, bo dziennik błędów z tego momentu zwykle wskazuje winną wtyczkę albo brak pamięci.

Czy mogę sam podnieść limit pamięci PHP?

Czasem tak, w panelu hostingu, w ustawieniach PHP. Jeśli panel tego nie daje, poproś hosting. Podniesienie limitu pomaga tylko wtedy, gdy dziennik mówi o braku pamięci, a nie maskuje wtyczki, która zużywa jej za dużo.

WordPress jest znakiem towarowym WordPress Foundation. WooCommerce jest znakiem towarowym Automattic Inc. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadnym z tych podmiotów.

TellMyShop dla WordPress i WooCommerce

Claude czyta twoją stronę, pokazuje każdą zmianę przed zapisem i zapisuje dopiero po twoim „tak”. Każdą zmianę cofniesz jednym poleceniem. Działa też z darmowym Claude.

Przeczytaj też