Prawdopodobnie każdy z nas przynajmniej raz napotkał wewnętrzny błąd serwera 500 (błąd 500 Internal Server) podczas próby uzyskania dostępu do określonej witryny. Jako użytkownik możesz go zignorować, ale jako administrator musisz jak najszybciej znaleźć jego przyczynę i wyeliminować błąd.
Często występujący błąd http jest szkodliwy dla reputacji Twojej firmy i prowadzi do utraty zaufania odbiorców Twojej marki. Oprócz tego szkodzi również Twojemu pozycjonowaniu w rankingach wyszukiwarek. Jako właściciel witryny musisz zatem wiedzieć, co to jest błąd 500, co może być jego przyczyną oraz jak go naprawić.
Błąd 500 – co to jest Internal Server Error?
Ogólny kod stanu http, a dokładniej kod błędu w formacie 5xx, wskazuje, że przeglądarka poprawnie wysłała żądanie, ale serwer nie był w stanie go przetworzyć. Co oznacza Internal Server Error? To wewnętrzny problem z serwerem, którego przyczyny przeglądarka nie można rozpoznać. Najczęściej jest to jednak spowodowane błędami w pliku .htaccess. Ponadto czasami błąd tego typu występuje po przesłaniu na serwer nieprawidłowych skryptów CGI lub ustawieniu nieprawidłowych uprawnień. Oznacza to, że za błędy http 500 Internal Server Error, podobnie jak inne odpowiedzi z kodem zaczynającym się od cyfry 5, odpowiedzialni są programiści lub administratorzy serwerów, a nie użytkownicy.
Kod błędu 500 – przyczyny
Jeśli serwer wysłał komunikat o błędzie wewnętrznym 500 (np. Temporary Error lub That’s an Error) może to być spowodowane ustawieniami hostingu lub problemami z kodem witryny. Najczęstsze powody to:
- błędy w pliku .htaccess;
- zła wersja PHP;
- nieprawidłowe uprawnienia plików i katalogów;
- przeciążenie serwera liczbą zapytań;
- duża liczba uruchomionych procesów;
- przekroczenie limitu czasu oczekiwania;
- niezgodne lub nieaktualne wtyczki.
Problem z serwerem może zostać rozwiązany tylko po stronie właściciela zasobu sieciowego.
Co powinien zrobić użytkownik w przypadku błędu 500?
Z racji, że błąd 500 Internal Server Error dotyczy serwera, nie ma sensu, by użytkownik próbował go „naprawić” poprzez:
- restart komputera;
- zmianę przeglądarki;
- ponowną instalację oprogramowania;
- restart routera.
Jeśli widzisz kod błędu 500 Internal Server Error na stronie serwera kogoś innego, masz dwie możliwości. Po pierwsze, możesz poczekać. Jeśli pojawia się brak dostępu do danego zasobu, nie będziesz mógł edytować jego plików, zmieniać ustawień ani wykonywać innych podobnych czynności, dlatego warto poczekać, aż administrator poprawi błąd Internal Server Error i odwiedzić witrynę później.
Po drugie, możesz powiadomić administratora zasobu o zaistniałym problemie. Pamiętaj, że nie wszyscy właściciele witryn monitorują dane przez całą dobę i czytają komunikaty o błędach. Możliwe, że administrator po prostu nie wie, że strona przestała działać. W tej sytuacji możesz pomóc – spróbuj znaleźć informacje kontaktowe właściciela i napisz do niego.
Błąd 500 – co oznacza dla administratora?
Oczywiście wiele zależy od specyfiki danego zasobu: na jakim silniku działa, na jakim serwerze hosta się znajduje i co ostatnio zostało zmienione na stronie. Mimo to uniwersalne zalecenia w większości przypadków pomagają pozbyć się błędu 500 Internal Server Error. Warto konsekwentnie wypróbować każdą z możliwości, istotną dla działania witryny. Co więc jako administrator możesz zrobić, by naprawić wewnętrzny błąd serwera?
Sprawdź składnię pliku .htaccess
Jeśli korzystasz z serwera WWW Apache, najprawdopodobniej masz plik .htaccess w katalogu głównym witryny lub w podfolderach. Tam przechowywane są ustawienia serwera. Spróbuj zmienić nazwę .htaccess na przykład na .htaccess_, a następnie ponownie odwiedź stronę główną witryny.
Jeśli błąd 500 Internal Server Error zniknął, problem dotyczy .htaccess. Sprawdź składnię pliku – być może podczas edycji wstawiłeś gdzieś dodatkowy znak lub popełniłeś literówkę. Jeśli istnieje poprzednia wersja ustawień, przywróć ją i sprawdź, czy kod błędu 500 nadal się pojawia.
Błąd może być związany z dostawcą hostingu. Wystarczy, że ustawi uprawnienia do tego pliku, które zabraniają edycji. W takim przypadku spróbuj pobrać .htaccess na swój komputer, zmodyfikuj go w dowolnym edytorze tekstu i prześlij go na stronę internetową zamiast poprzedniej wersji oprogramowania.
Wyświetl dziennik błędów
Jeśli ostatnio wykonywałeś jakieś prace w witrynie, mogło to spowodować wewnętrzny błąd serwera (500 Internal Server Error). Sprawdź dzienniki i zobacz, czy nie ma zgłoszonych problemów. Jeśli tak, przeanalizuj je i spróbuj cofnąć ostatnie zmiany.
Hosterzy zazwyczaj określają, gdzie domyślnie przechowywane są logi i jak uzyskać do nich dostęp z panelu sterowania. Informacje te można znaleźć w dziale pomocy lub FAQ na stronie hostingowej.
Ustaw uprawnienia dla skryptów CGI
Jeśli używasz skryptów CGI (Common Gateway Interface), pliki wraz z nimi i foldery, w których się znajdują, muszą mieć prawo dostępu 755 (drwxr‑xr‑x). Ta kombinacja daje możliwość pisania w nich tylko właścicielowi. Inni użytkownicy mogą jedynie czytać pliki i je uruchamiać. Jeśli ustawione są inne uprawnienia, może to spowodować błąd 500 Internal Server Error.
Sprawdź zawartość skryptów CGI
Poprawne skrypty CGI muszą mieć zakończenia linii Unix (\n), a nie Windows (\r\n). Aby zachować poprawną wersję, musisz przesłać kod do większości hostingów przez FTP w trybie ASCII. Jeśli nie wiesz, jakich ustawień użyłeś, prześlij ponownie skrypty i sprawdź, czy błąd 500 Internal Server Error zniknął. Programy CGI mogą również generować nieprawidłowe nagłówki odpowiedzi HTTP. W takim przypadku najprawdopodobniej zobaczysz błędy w dziennikach.
Usuń lub wyłącz ostatnio zainstalowane wtyczki/komponenty
Zdarza się, że poszczególne komponenty strony lub wtyczki są ze sobą w konflikcie, w efekcie czego pojawia się błąd 500 i inne problemy serwera. Jeśli ostatnio zainstalowałeś nowe moduły lub aktualizowałeś stare, spróbuj wyłączyć te elementy w panelu klienta. Możliwe, że po tym na stronie pojawią się inne błędy, ale jeśli kod błędu 500 przestał się wyświetlać, oznacza to, że był spowodowany właśnie niezgodnością lub nieprawidłowością wtyczek/komponentów.
Zoptymalizuj skrypty
Jeśli skrypty działają przez długi czas lub nie ma dla nich wystarczających zasobów, spróbuj przeanalizować ich zawartość. Być może kod http wymaga optymalizacji, aby zużywał mniej mocy procesora i pamięci RAM. Szczególnie często skrypty nie mają wystarczających zasobów, jeśli korzystasz z hostingu współdzielonego. Spróbuj więc rozbić skrypt na bloki i oceń skuteczność każdego z nich.
Zwiększ pamięć RAM serwera
Zdarza się, że nawet po zoptymalizowaniu skryptów nadal zużywają one zbyt dużo pamięci. W takim przypadku będziesz musiał przejść na droższy pakiet usług hostingowych lub, jeśli to możliwe, zwiększyć bezpośrednią alokację pamięci.
Poproś o pomoc specjalistów
Jeśli samodzielna naprawa serwera przerasta Twoje możliwości i wiedzę, skorzystaj z pomocy profesjonalistów z działu wsparcia technicznego swojej usługi hostingowej. Możesz również zwrócić się do specjalisty-freelancera, ale w tym wypadku musisz liczyć się z dodatkowymi kosztami naprawy za błąd Internal Server Error. Najczęściej nie ma to sensu, ponieważ większość ofert hostingowych obejmuje darmową pomoc w razie usterek.
Pamiętaj, że kod błędu 500 Internal Server Error wymaga szybkiej reakcji. Gdy boty wyszukiwarki indeksują stronę z błędem, nie zmieniają jej statusu przez 24 godziny. W tym czasie administrator może naprawić błąd. Jeśli jednak boty ponownie napotkają błąd 500 Internal Server Error, wykluczą daną stronę WWW z wyników wyszukiwania.
Masz pytania? Agencja SEO Poznań Grupa iCEA chętnie na nie odpowie!
Oddzwonimy na wskazany numer telefonu, aby umówić się na dogodny dla Ciebie termin niezobowiązującej konsultacji z naszym specjalistą.
Do usłyszenia!