Co znaczy błąd 500 (Internal Server Error) i jak naprawić?

Doświadczeni internauci wiedzą, że pojawienie się błędu 500 podczas przeglądania Internetu nie jest czymś nowym. Obok równie często spotykanego błędu 403 można także natrafić na wspomniany błąd 500. Sporadyczne pojawienie się tego błędu na stronie nie musi oznaczać czegoś poważnego, problemem może być jednak sytuacja, w której błąd 500 będzie pojawiać się regularnie.

Nie pozwala on bowiem na swobodne przeglądanie strony WWW, a co za tym idzie przyczynia się do spadku dokonywanych transakcji, jak również zmniejszeniu liczby odwiedzin. Co najważniejsze, jego regularne występowanie świadczy o problemach ze stroną, które należy rozwiązać. W dalszej części podpowiem, co znaczy błąd 500 (Internal Server Error) oraz jak go skutecznie zdiagnozować i naprawić.

Co znaczy błąd 500 błąd (Internal Server Error)?

Jest to nic innego, jak wewnętrzny błąd serwera, który napotkał pewne problemy i nie mógł wykonać zapytania. Serwer, na którym jest obsługiwana strona WWW nie ma możliwości zwrócenia informacji, a co za tym idzie wyświetlenia jej zawartości. Błąd ten, sam z siebie, ma charakter bardzo ogólny. Przyczyn jego pojawienia się może być bardzo wiele – błędna konfiguracja strony, niekompatybilna wersja interpretera PHP ustawiona po stronie serwera, problemy z zainstalowanymi komponentami czy motywami, nowa funkcja dodana do kodu strony, niepotrzebny znak w kodzie PHP… i tak dalej, i tak dalej.

Jak widzisz, czasami powód jest bardzo prosty, a czasami diagnoza wymaga poświęcenia więcej czasu i zaangażowania. Wszystko wynika z tego, że komunikat o błędzie 500 zostaje wyświetlony w momencie, gdy żaden inny kod HTTP nie może zostać wskazany (np. 5XX). Jest to zatem komunikat w stylu „Coś poszło nie tak”.

Już wiesz co znaczy błąd 500 (Internal Server Error), poniżej przestawiam Ci najczęstsze jego przyczyny.

Najczęstsze przyczyny pojawienia się błędu 500:

a) Wtyczki i motywy

Jeśli swoją stronę WWW stworzyłeś w oparciu o popularny CMS np. WordPress nieodpowiednie rozszerzenia, motywy, czy też inne komponenty strony mogą powodować błąd 500. Najprościej można to zweryfikować poprzez wyłączenie wszelkich dodatków w bazie danych:

Sprawdź jak zalogować się do bazy danych

lub logując się bezpośrednio do FTP:

Sprawdź jak zalogować się do FTP np. za pomocą programu FileZilla

b) Niekompatybilna wersja PHP na serwerze

Z reguły im nowsza wersja PHP, tym lepiej. Jeśli jednak korzystamy ze starszych skryptów PHP, starszego CMS’a lub rozwiązania e-Commerce, to podniesienie wersji PHP może wiązać się z brakiem kompatybilności części kodu strony. Jest to jeden ze sygnałów, które powinny pokazać nam, że nasza strona może wymagać modernizacji „pod maską”, jednak to temat na inną dyskusję.

Niekompatybilna wersja PHP (zbyt nowa, ale i również zbyt stara) może spowodować występowanie błędu 500 – czy to na wszystkich podstronach, czy to tylko na tych, które są związane z np. przestarzałym kodem. W takiej sytuacji należy spróbować zmienić wersję PHP na kompatybilną. W LH.pl możesz to zrobić w Panelu klienta.

Jak zmienić wersję PHP na serwerze w LH.pl?

c) Niedawne zmiany w kodzie PHP

Jeżeli na stronie były ostatnio wprowadzane zmiany w kodzie PHP, to mogą być one przyczyną występowania błędu 500. Czasem wystarczy jeden źle postawiony znak w składni PHP i od razu cały skrypt przestanie się wykonywać.

Tyczy się to również WordPressa i zmian w pliku functions.php w katalogu ze swoim motywem. Źle dodany lub niekompatybilny kod może powodować błąd 500. Pamiętaj, aby przed każdą zmianą w kodzie wykonywać kopię zapasową modyfikowanych plików. W takiej sytuacji możesz je przywrócić do stanu poprzedniego.

d) Aktualizacje strony

Jeśli w ostatnim czasie wykonywałeś jakiekolwiek aktualizacje warto je cofnąć w celu weryfikacji błędu. Zdarza się bowiem, że dodatki które zainstalowałeś nie są kompatybilne z wersją systemu. Cofnij zatem wykonane aktualizacje wracając do poprzedniej wersji oprogramowania i zweryfikuj czy to one nie stanowią źródła problemu. Być może to właśnie wersja systemu koliduje z innymi elementami strony www.

Sprawdź jak zarządzać automatyczną aktualizacją WordPressa

e) Błąd w pliku .htaccess

Bardzo często pojawienie się na stronie błędu 500 (Internal Server Error) powoduje plik .htaccess. Powinieneś zweryfikować, czy nie wprowadziłeś jakiś modyfikacji tego pliku. Być może wykonałeś je w nieprawidłowy sposób. Plik ten mógł być modyfikowany w programie, który nie jest do tego przeznaczony np. Word. Jeśli wyedytujesz plik .htaccess w tym programie to spowoduje to dopisanie niewidocznych znaków. Nie zostaną one poprawnie odczytane, a co za tym idzie serwer nie może zwrócić żądania. Warto w tym celu wykorzystywać edytory, które są przeznaczonego do tego typu celów np. Notepadqq.

f) Modyfikacja uprawnień plików

Wspomniany błąd 500 może wynikać także z braku odpowiednich uprawnień dostępu do folderów lub plików. Uprawnienia te oznaczona są przez odpowiednie wartości. Podstawową konfiguracja jest nadanie upewnień 755 (rwxr-xr-x). Pojawienie się modyfikacji może spowodować wspomniany błąd.

Sprawdź, jak naprawić uprawnienia WordPressa na FTP

Kontakt z supportem hostingu

Jeśli wszystkie powyższe kroki zostały przez Ciebie dokładnie przeanalizowane, a żadna z powyższych rad nie pomogła w zdiagnozowaniu i eliminacji błędu 500 skontaktuj się z supportem hostingu. Być może powodem jest przeciążenie serwera liczbą zapytań, o czym nie miałeś pojęcia, a support z łatwością to zweryfikuje i podpowie, co najlepiej w tej sytuacji zrobić.

Pamiętaj! Jakakolwiek ingerencja w pliki Twojej strony www powinna być poprzedzona posiadaniem odpowiedniej kopii zapasowej plików, tak aby w razie konieczności móc ją przywrócić. W LH.pl kopie zapasowe Twojego serwera wykonywane są codziennie i przechowywane przez 14 dni.