Błąd 500 Internal Server Error oznacza, że serwer napotkał nieoczekiwany problem podczas obsługi żądania. Status HTTP 500 nie wskazuje jednej konkretnej przyczyny, dlatego zacznij od zebrania informacji, sprawdzenia logów i cofnięcia ostatniej zmiany, którą można bezpiecznie odwrócić. MDN: HTTP 500
Spis treści
Przed rozpoczęciem
Nie wprowadzaj kilku zmian jednocześnie. Utrudnia to ustalenie, która zmiana przywróciła działanie strony lub wywołała błąd.
- Zapisz adres URL, na którym występuje błąd.
- Zanotuj dokładny czas wystąpienia błędu wraz ze strefą czasową.
- Przygotuj dostęp do plików strony, logów aplikacji i logów serwera.
- Przed cofnięciem kodu, zmianą konfiguracji lub odtworzeniem plików utwórz kopię zapasową aktualnego stanu.
- Wstrzymaj wdrożenia, aktualizacje wtyczek i zmiany konfiguracji do czasu ustalenia przyczyny.
Potwierdź zakres problemu
Najpierw ustal, czy błąd 500 dotyczy całej strony, jednej podstrony czy tylko określonej funkcji, na przykład formularza lub panelu administracyjnego.
- Otwórz stronę główną oraz jedną lub dwie podstrony.
- Sprawdź adres z prefiksem
wwwi bez niego, jeśli oba są używane. - Sprawdź stronę w prywatnym oknie przeglądarki. Pozwala to ograniczyć wpływ zapisanej sesji i cache przeglądarki.
- Zapisz odpowiedź dla każdego testu: pełny błąd 500, poprawne działanie albo inny komunikat.
Jeśli błąd pojawia się tylko po wysłaniu formularza lub wejściu na jedną trasę, podaj tę informację podczas dalszej diagnostyki. Zawęża ona zakres logów do sprawdzenia.
Sprawdź logi aplikacji i serwera
Logi to zapisy zdarzeń generowane przez aplikację i serwer. Przy błędzie 500 są najważniejszym źródłem dowodów, ponieważ komunikat widoczny dla odwiedzającego zwykle nie pokazuje szczegółu technicznego. Dokumentacje hostingu dotyczące tego błędu wskazują logi jako podstawowy element diagnostyki. Troubleshooting 500 Internal Server Error
- Odszukaj wpisy z czasu zanotowanego podczas testu.
- Przeczytaj pełny komunikat, a nie tylko jego pierwszą linię.
- Zapisz nazwę pliku, numer linii, nazwę modułu lub wtyczki oraz treść błędu.
- Sprawdź, czy ten sam wpis pojawia się po ponownym, pojedynczym otwarciu problematycznego URL.
Nie publikuj pełnych logów w miejscu dostępnym publicznie. Mogą zawierać ścieżki do plików, adresy e-mail, fragmenty konfiguracji lub dane sesji.
Przejrzyj zmiany wykonane przed błędem
Porównaj czas pierwszego błędu z ostatnimi zmianami. Najpierw sprawdź aktualizacje WordPressa, motywu lub wtyczek, wdrożenie kodu, zmianę plików konfiguracyjnych oraz zmianę wersji PHP. Błąd 500 bywa związany z konfiguracją aplikacji, skryptem lub regułami serwera. Linuxize: 500 Internal Server Error
- Ułóż zmiany od najnowszej do najstarszej.
- Wybierz jedną zmianę, która ma jasny sposób cofnięcia.
- Nie cofaj jednocześnie aktualizacji, ustawień PHP i zmian w plikach.
- Po każdym cofnięciu wykonaj ten sam test URL i sprawdź nowe wpisy w logach.
Wykonaj działania o niskim ryzyku
Najbezpieczniejsze działania nie zmieniają treści strony ani ustawień produkcyjnych. Ich celem jest potwierdzenie problemu i zebranie materiału do decyzji o cofnięciu zmiany.
- Powtórz test problematycznego adresu tylko raz po zapisaniu czasu.
- Porównaj błąd z wpisem w logu utworzonym w tej samej minucie.
- Sprawdź, czy błąd wystąpił bezpośrednio po znanej zmianie.
- Zachowaj kopię bieżących plików konfiguracyjnych przed ich edycją.
Nie zmieniaj uprawnień plików ani reguł konfiguracji metodą prób i błędów. Takie zmiany mogą zmienić objawy problemu i utrudnić odtworzenie pierwotnej przyczyny.
Kiedy cofnąć zmianę lub wyłączyć komponent
Cofnięcie jest uzasadnione, gdy błąd 500 zaczął się po konkretnej zmianie, a log wskazuje plik, moduł lub komponent związany z tą zmianą. Przed cofnięciem zachowaj kopię aktualnego stanu, aby można było wrócić do niego podczas dalszej analizy.
- Przywróć poprzednią wersję jednego elementu, na przykład ostatnio wdrożonego pliku lub ustawienia.
- Jeśli problem dotyczy dodatku WordPressa, wyłącz tylko ten dodatek, który był ostatnio zmieniany lub jest wskazany w logu.
- Przetestuj stronę główną i URL, na którym występował błąd.
- Sprawdź logi po teście.
- Jeśli błąd ustąpił, nie wykonuj kolejnych zmian. Zapisz, co zostało cofnięte.
Przywrócenie usługi ma pierwszeństwo przed dalszymi eksperymentami. Po przywróceniu działania analizuj kopię błędnej wersji poza stroną produkcyjną.
Jak przygotować zgłoszenie do hostingu lub programisty
Przekaż materiał, który pozwoli odtworzyć błąd bez zgadywania. Nie wysyłaj haseł, kluczy API ani pełnej zawartości plików konfiguracyjnych.
- Dokładny URL lub adresy URL zwracające błąd 500.
- Data, godzina i strefa czasowa wystąpienia błędu.
- Informacja, czy problem dotyczy całej strony, czy wybranej funkcji.
- Pełny komunikat z logu, po usunięciu danych poufnych.
- Lista zmian wykonanych bezpośrednio przed błędem.
- Informacja o wykonanych testach i zmianach, które zostały cofnięte.
- Wynik po cofnięciu zmiany: błąd nadal występuje albo strona znów działa.
Takie zgłoszenie łączy czas zdarzenia, zakres problemu i dane z logów. Ułatwia to rozróżnienie problemu w aplikacji od problemu wymagającego sprawdzenia po stronie serwera.
FAQ
Czy błąd 500 oznacza, że strona została usunięta?
Nie. Kod 500 oznacza błąd serwera podczas obsługi żądania. Sam status nie określa, czy problem dotyczy kodu aplikacji, konfiguracji czy innego elementu obsługi żądania. MDN: HTTP 500
Dlaczego warto zapisać dokładny czas błędu?
Czas pozwala dopasować test wykonany w przeglądarce do konkretnego wpisu w logu aplikacji lub serwera. Dzięki temu można analizować zdarzenie związane z właściwym żądaniem.
Czy po przywróceniu strony trzeba dalej zmieniać ustawienia?
Nie. Gdy strona działa po cofnięciu konkretnej zmiany, zachowaj ten stan i przeanalizuj przyczynę na kopii środowiska lub wraz z osobą obsługującą stronę.
