Błąd 500 – Internal Server Error

  Ustawienia, Webhosting

W przypadku pojawienia się tego błędu postępuj wg poniższej instrukcji:

  1. Problem tkwi zazwyczaj w pliku .htaccess zlokalizowanym w katalogu www – albo zawiera on niedozwolone komendy, albo jest w nim – rozpocznij więc od skontrolowaniu pliku(ów) .htaccess (patrz niżej)
  2. Występowanie błędu może powodować używany przez Ciebie system zarządzania treścią (czegoś mu brakuje lub jest błędnie skonfigurowany)
  3. Napotkasz na limity PHP na webhostingu – max_execution_time, memory_limit, post_max_size, upload_max_filesize
  4. Masz aktywne PHP 5.4, a w konfiguracji masz włączone PHP register_globals – anuluj to. Nic takiego nie istnieje już w PHP 5.4.
  5. Przyczyną błędu mogą być także zduplikowane foldery w folderze domains/ i subdom/ – jeśli masz subdomenę np. test (subdom/test) ta sama subdomena nie może zostać utworzona w folderze domains/ (domains/test.twoja-domena.tld).
  6. Jeśli nie udało Ci się ustalić, co jest powodem występowania błędu, skontaktuj się z naszą obsługą klienta

Niedozwolone znaki w pliku .htaccess

W większości przypadków błąd 500 jest spowodowany problemem z plikiem .htaccess. Niestety na stronie błędu, serwer WWW nie udostępnia szczegółowych informacji o błędzie. Dlatego dokładnie sprawdź zawartość pliku .htaccess pod kątem literówek.

W plikach .htaccess na webhostingu nie można używać:

  • php_flag
  • php_value
  • ServerSignature
  • SetHandler
  • XBitHack
  • AddHandler

Co więcej, w poleceniu Options może być użyta jedynie opcja Indexes, inne są niedozwolone (ich ewentualne użycie ponownie skończy błędem 500). Z polecenia Options w .htaccess korzysta duża liczba systemów zarządzania treścią i sklepów internetowych.

Skontroluj czy plik .htaccess w katalogu www Twojej strony, nie zawiera zakazanych poleceń, na przykład:

Options +FollowSymLinks
Options +Multiviews

Skomentuj ten wiersz, umieszczeniem znaku # na jego początku:

#Options +FollowSymLinks

Postępuj w ten sam sposób w odniesieniu do pozostałych niedozwolonych poleceń.

Jeśli wprowadzenie zmian w pliku . htaccess nie pomogło i nie wiesz jak dalej postępować, skontaktuj się z nami.

PrestaShop

W przypadku, gdy błąd 500 pojawi się podczas używania PrestaShop, może on pochodzić z:

  1. naszego serwera WWW – strona błędu 500 tworzą nasze czeskie teksty i link do bazy wiedzy
  2. z PrestaShop – strona nie zawiera żadnego tekstu, w związku z czym przeglądarka wyświetli swój domyślny komunikat o błędzie 500

W pierwszej kolejności rozpocznij od ustalenia możliwej przyczyny zgodnie z informacjami zamieszczonymi powyżej.

W innym przypadku błąd 500 jest powodowany bezpośrednio przez PrestaShop, który w ten sposób reaguje na wystąpienie krytycznego problemu, który uniemożliwia działanie aplikacji. Niestety wszystkie błędy są domyślnie maskowane, a PrestaShop nic udostępni żadnych dodatkowych informacji.

Rozwiązaniem będzie włączenie trybu debugowania PrestaShop. W tym celu otwórz plik config/defines.inc.php, a następnie ustaw w nim stałą _PS_MODE_DEV_ na true (zwykle wiersz 28):

define('_PS_MODE_DEV_', true);     

Następnie zamiast ogólnego błędu 500 zobaczysz konkretne komunikaty o błędach.

Prestashop 1.7.6.8, błąd 500 w administracji

Odnotowałeś problem w Prestashop 1.7.6.8, polegający na niedostępności administracji (błąd 500). Problem zniknął po włączeniu trybu debugowania, ale przy włączonym trybie debugowania administracja była nadal niedostępna.

Rozwiązaniem będzie wyczyszczenie katalogu /var/cache Prestashop na FTP.