Błąd 500 – wróg, którego nikt nie chce widzieć na oczy. Jeśli zdarzyło się Państwu kiedyś odczuć jego skutki, z pewnością przyznają Państwo, że choć nie jest tak straszny, jak go malują, potrafi zatrząść cyfrowymi fundamentami Państwa sklepu internetowego.
Spadek sprzedaży, gorsze pozycje w wyszukiwarce, słabsza optymalizacja, zniecierpliwieni klienci. Po takim potknięciu lista problemów jest aż nadto długa. Na szczęście jego naprawa wcale nie jest skomplikowana.
W Línea Gráfica przygotowaliśmy praktyczny poradnik, po który warto sięgnąć, gdy na scenę wkroczy „Błąd HTTP 500”. Znajdą w nim Państwo wskazówki, dzięki którym spokojniej spojrzą Państwo na źródło problemu i rzetelnie ocenią możliwe rozwiązania.
Skąd się bierze błąd 500 w PrestaShopie
Dla tych, którzy nie wiedzą jeszcze dokładnie, z czym mają do czynienia: błąd 500 to wewnętrzny błąd serwera występujący podczas wykonywania żądania. To sygnał, że coś na serwerze WWW nie działa tak, jak powinno (uwaga: nie ma nic wspólnego z klasycznym błędem 404).
Najbardziej uciążliwe w „pięćsetce” – bo tak będziemy ją odtąd nazywać – jest to, że jej przyczyny bywają tak niejasne, że trudno znaleźć właściwe rozwiązanie, które pozwoli pozbyć się jej na dobre. Wiemy jednak na pewno, że najczęściej pojawia się z następujących powodów:
- Uprawnienia folderów: Bardzo możliwe, że zawodzi konfiguracja uprawnień jednego z Państwa folderów. Uprawnienia 777 dają zbyt dużą swobodę i tworzą zbyt wiele słabych punktów, co może prowadzić do uszkodzenia plików w folderach.
- Limit czasu wykonania: Każdy serwer ma własny limit czasu, który określa, jak długo może działać skrypt odpowiedzialny za import, eksport, wczytywanie kopii zapasowych czy tłumaczeń. Jeśli ten limit – zwykle 30 sekund – zostanie przekroczony, pojawi się błąd 500.
- .htaccess: Trzecia droga, którą „pięćsetka” wkrada się do sklepu, to błędna konfiguracja pliku htaccess. Niedopracowana składnia htaccess lub źle skonfigurowane przyjazne adresy URL wywołują wewnętrzne problemy na serwerze WWW, które natychmiast przywołują naszą znajomą „pięćsetkę”. Kiepska sprawa.
Jak zlokalizować błąd 500
Aby precyzyjnie zlokalizować błąd, należy przez FTP włączyć wyświetlanie błędów, a następnie odtworzyć problem, poruszając się po front office i panelu administracyjnym.
W PrestaShopie w wersjach od v1.5.3 do v1.7 (najnowszych) należy wykonać następujące kroki:
- Proszę przejść do pliku config/defines.inc.php
- Proszę znaleźć linię define ('_PS_MODE_DEV_', false);
- Proszę zmienić ją na ('_PS_MODE_DEV_', true);
We wszystkich wcześniejszych wersjach należy postępować w ten sposób:
- Proszę przejść do pliku config/config.inc.php
- Proszę znaleźć linię @ini_set('display_errors', 'off');
- Proszę zmienić ją na @ini_set('display_errors', 'on');
Po włączeniu wyświetlania błędów dokładniej ustalimy, skąd pochodzi usterka, dlaczego wystąpiła i jak się do niej zabrać. Pańskie dni są policzone, Panie 500.
Jak naprawić błąd 500 w PrestaShopie
Wyżej opisaliśmy główne przyczyny błędu, a teraz pora na rozwiązania. Warto jednak pamiętać, że po diagnozie z poprzedniego kroku można trafić na inną przyczynę niż trzy opisane poniżej. Jeśli tak się stanie, nie ma się czym martwić – mają Państwo teraz znacznie więcej informacji o błędzie, więc szczęśliwy finał naprawy jest już blisko.
Jeśli przyczyną jest limit czasu: trzeba go zwiększyć, aby niektóre skrypty mogły działać bez przeszkód. Wystarczy skontaktować się z dostawcą hostingu, zmienić parametr i odetchnąć z ulgą.
Jeśli problem leży w pliku htaccess: należy zrobić kopię zapasową pliku „.htaccess” i wyłączyć przyjazne adresy URL albo po prostu odtworzyć plik z poziomu panelu administracyjnego.
Jeśli przyczyną są uprawnienia folderów, wystarczy zmienić je z 777 na 755 lub odwrotnie. Szybko, krótko i na temat.