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.
| Objaw | Najczęstsza przyczyna | Zaczyna |
|---|---|---|
| Cała strona i /wp-admin dają 500 | .htaccess, wtyczka, wersja PHP | ty, potem hosting |
| Biały ekran bez żadnego tekstu | błąd PHP przy wyłączonym wyświetlaniu błędów | ty, potem hosting |
| Komunikat „W witrynie wystąpił błąd krytyczny” | wtyczka albo motyw | zobacz poradnik o błędzie krytycznym |
| 500 tylko przy jednej czynności, na przykład zapisie albo koszyku | wtyczka, brak pamięci, limit czasu | ty z dziennikiem, potem developer |
| 500 pojawia się i znika przy dużym ruchu | limity serwera | hosting |
| 502 albo 504 zamiast 500 | serwer nie dostał odpowiedzi od PHP na czas | hosting |
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.
- 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.
- 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.
- 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.
- Cofnij zmianę wersji PHP. Jeśli przed błędem zmieniałeś wersję PHP w panelu hostingu, wróć do poprzedniej.
- 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.
Przy zapisie dłuższych wpisów wyskakuje błąd 500. Krótkie zapisują się normalnie.
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.
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
Wyłącz. Z hostingiem porozmawiam jutro.
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.
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.