6 minute read

Błąd HTTP 500: gdzie leży problem i jak go naprawić?

Określone kody statusu HTTP dostarczają informacji o tym, czy żądanie online zakończyło się powodzeniem, a jeśli nie, to gdzie tkwi przyczyna błędu. Niestety, dla większości użytkowników, nie znających fachowej nomenklatury, komunikaty o błędach  nie zawsze są jasne. Dotyczy to w szczególności „http error 500”.

Ten komunikat wskazuje, że wystąpił błąd podczas połączenia z serwerem i że nie można uzyskać dostępu do żądanej strony. Jednak zazwyczaj nie określa, dlaczego tak się dzieje. Na szczęście istnieją różne metody znalezienia przyczyny. Poniżej garść informacji o tym co oznacza status 500, oraz jak go skutecznie i samodzielnie naprawić.

500 internal server error – co to znaczy?

Korzystając z kodów statusu, serwer sieciowy informuje przeglądarkę internetową użytkownika czy żądanie, czyli inaczej mówiąc dostęp do strony internetowej, do strony internetowej zakończyło się sukcesem. Jeśli przeglądarka otrzyma kod statusu 200 – oznacza to, że wszystko poszło prawidłowo i strona zostaje wyświetlona.

Jednakże status 200 nigdy nie jest wyświetlany – zamiast niego pojawia się po prostu określona strona, wybrana przez użytkownika. Sytuacja wygląda nieco inaczej w przypadku statusu 400 i 500. Podczas gdy pierwszy wskazują błędy po stronie użytkownika, ten drugi jest bezpośrednio związany z serwerem. Przy samodzielnym diagnozowaniu, na pierwszy rzut oka nie można jednoznacznie określić, gdzie właściwie leży błąd. Użytkownik wie tylko, że wystąpił błąd http 500. Jednak i na to jest rada.

Jeśli korzysta się z usług informacyjnych Microsoft, kod błędu może zostać doprecyzowany, przez weryfikację miejsc dziesiętnych, które mogą jednoznacznie wskazać bezpośrednią przyczynę błędu.

Dla przykładu kod 500.0 oznacza błąd modułu, kod 500.19 nieprawidłowe dane konfiguracyjne a 500.21 nieprawidłowe dane konfiguracyjne itd.

Błąd 500 – przyczyny

Error 500 może wystąpić, gdy żądanie jest przetwarzane przez serwer WWW. Kod błędu 500 występuje, ponieważ  prawdopodobnie nastąpiła nieprawidłowość w konfiguracji serwera WWW. Poniżej przykładowe, najczęstsze przyczyny http 500:

  • Błąd uprawnień – brak prawidłowej konfiguracji uprawnień plików i folderów
  • Limit PHP – skrypt próbuje uzyskać dostęp do zewnętrznego zasobu przy czym następuje limit czasu
  • Niepoprawny kod w .htaccess: struktura w pliku .htaccess może być nieprawidłowa.
  • Błąd w kodzie lub skryptach CGI/ Perl
  • Limit pamięci PHP – proces przekracza pamięć i dlatego nie może być poprawnie wykonany.

W przypadku witryn WordPress lub innych systemów zarządzania treścią przyczyną może być również instalacja wadliwego lub niezgodnego rozszerzenia. Wtyczki, zwłaszcza pochodzące od zewnętrznych dostawców – mogą wpływać negatywnie na całą witrynę.

Błąd http 500 jak naprawić? – wskazówki dla operatora

Działając jako operator witryny, w przypadku błędu 500, powinno szybko podjąć działania zaradcze, ponieważ długotrwały problem z prawidłowym wyświetleniem treści przez użytkowników może znacznie wpłynąć na pozycjonowanie. Oczywiście w negatywny sposób. Przed podjęciem działań najpierw warto zweryfikować, czy serwer nadal działa. Jeśli nie, najprościej jest skontaktować się od razu z dostawcą usług hostingowych.

Jak naprawić błąd 500 internal server error?

Jeśli natomiast wystąpił błąd wewnętrzny, pierwszym krokiem jest wyświetlenie plików dziennika. W przypadku serwerów Linux listę komunikatów o błędach należy znaleźć w / var / log / httpd / error_log. Przeładowanie strony internetowej ma sens – dzięki temu można odtworzyć kod błędu HTTP 500 i obserwować, jak tworzony jest plik dziennika. Pomoże to szybko znaleźć źródło błędu.

Warto również zastanowić się czy i jakie zmiany zostały wprowadzone ostatnimi czasy. W wielu przypadkach niepoprawnie programowanie lub niezgodne wtyczki są przyczyną wyświetlania komunikatów o błędach. Błędy mogą również występować, jeśli nie ustawiono właściwie uprawnień dla ważnych plików.

  • Przeniesienie lub zmiana nazwy plików

Czasami przyczyną pojawiających się błędów może okazać się przeniesienie plików skryptów, zmiana ich nazwy lub omyłkowe usunięcie. Dlatego też, warto sprawdzić również plik .htaccess: nawet niewielki błąd składni może spowodować wewnętrzny błąd serwera i w konsekwencji komunikat http 500.

  • Formatowanie

Równie częstym błędem jest nieprawidłowe formatowanie pliku .htaccess. Musi on być utworzony w formacie ASCII lub ANSI, a nie w Unicode. Dlatego należy zapisać plik w edytorze tekstu, takim jak Notepad, Notepad ++ lub Sublime Text, a nie w Wordzie. Aby sprawdzić, czy określony plik jest odpowiedzialny za błąd, można tymczasowo zmienić jego nazwę i odświeżyć stronę. Serwer nie uzyska wtedy dostępu do pliku .htaccess podczas ładowania strony Jeśli nie otrzyma się  już zwrotnego  komunikatu o błędzie, można naprawić ten właśnie plik lub utworzyć nowy.

  • Limit czasu

Limit czasu może również prowadzić do komunikatu o błędzie. W tym przypadku nie jest to błąd serwera WWW, ale przerwane połączenie ze źródłem zewnętrznym.Jednym ze sposobów wyeliminowania tego źródła błędów jest oczywiście nie uzależnianie witryny od zasobów zewnętrznych. Jeśli nie jest to możliwe, można na przykład zwiększyć limit czasu swojego skryptu.

  • Limit pamięci

Jeśli potrzebna jest większa ilość pamięci RAM niż jest dostępna, może to spowodować wewnętrzny błąd serwera. Aby temu zapobiec można zwiększyć limit. Warto jednak mieć na względzie, że dostawca hostingu zezwala tylko na odgórnie określony limit skryptu PHP. Jeśli wprowadzi się wyższą wartość, serwer WWW zignoruje to polecenie. Podniesienie limitu jest tylko rozwiązaniem tymczasowym: po ponownym uruchomieniu witryny należy szukać przyczyny wysokiego wykorzystania pamięci RAM. Istnieje duże prawdopodobieństwo, że błąd można znaleźć w kodzie strony.

Jeśli żadna z tych metod nie oferuje rozwiązania, dobrym pomysłem jest skontaktowanie się z dostawcą usług hostingowych. Zanim się to zrobi, można sprawdzić stan serwerów. Wielu dostawców usług hostingowych informuje o stanie swoich serwerów za pośrednictwem  statusu lub za pośrednictwem mediów społecznościowych.

Jak na błąd HTTP 500 powinni reagować użytkownicy Internetu?

Jako użytkownik witryny internetowej niewiele można zrobić. Serwer internetowy, na którym znajduje się docelowa witryna, ma nieprawidłową konfigurację. Oznacza to, że nie ma błędów w ustawieniach komputera ani w ustawieniach połączenia sieciowego.

Dlatego najłatwiejszym rozwiązaniem dla użytkownika Internetu jest podejmowanie prób odświeżenia strony. Możliwe jest również, że ekstremalny wzrost liczby odsłon spowodował nagłe wyłączenie serwera. Ten problem jest zazwyczaj rozwiązywany w ciągu kilku sekund – chyba że witryna jest na stałe przeciążona. Jeśli po odświeżeniu strony nadal pojawia się komunikat o błędzie, powinno się najpierw wyczyścić pamięć podręczną przeglądarki.

Przeglądarka może nie przeładować strony, ale zamiast niej użyć wewnętrznej pamięci. Po opróżnieniu pamięci podręcznej można ponownie uzyskać dostęp do witryny. Jeśli strona nie odpowiada przez dłuższy okres, można nawiązać próbę kontaktu z jej właścicielem celem wyjaśnienia sprawy.