W tym wpisie chciałbym opisać krótką diagnozę błędu 500 występującego na sklepach Prestashop. Tego rodzaju błąd wygląda strasznie ale można go dość szybko i łatwo naprawić.
Pierwszym krokiem jest usunięcie pamięci cache za pomocą panelu admina/backoffice wchodzimy w Zaawansowane > wydajność i klikamy "Wyczyść pamięć podręczną".
Jeżeli błąd dalej występuje spróbujmy ręcznie usunąc cache z serwera.
W tym celu wchodzimy na główny katalog naszego sklepu na serwerze FTP i wchodzimy w katalog "var" następnie "cache" i usuwamy folder "dev" oraz "prod" sprawdzamy czy błąd zniknął.
Jeżeli błąd dalej występuje to znaczy że mamy doczynienia z czymś poważniejszym więc włączamy "debug" jest to opcja pozwalająca na wyswietlenie w wielu przypadkach tego błędu w formie komunikatu co i gdzie dokłądnie się dzieje. Jeżeli problem jest w jakiś module co widać po ścieżce zejest napisane "module" to warto zgłosić się do twórcy modułłu i powinien to naprawić. jeżeli problem jest gdzie indziej można poszukać po internecie rozwiązania często jest to dość szybka i prosta naprawa.
W najgorszym przypadku po włączeniu debuga strona działa poprawnie po jego wyłączeniu mamy error 500. Ten przypadek można też rozwiazać jednak potrzebujemy dostępów do logów serwera. Jeżeli działamy na serwerze typu Apache możemy wykorzystać .htaccess i dodać poniższe ustawienie pozwalające na zbieranie błędów PHP do logów:
#Error reporting PHP
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_reporting -1
php_value log_errors_max_len 0
#End error reporting PHP
następnie wchodzimy w logi serwera sprawdzamy access.log oraz error.log w poszukiwaniu "Fatal error" dzięki temu dostaniemy wskazówkę gdzie występuje błąd w jakim dokłądnie fragmęcie kodu.
Mam nadzieje że wpis pomógł, w razie problemów proszę pisać na jakub@modules4presta.io z chęcią pomożemy rozwiązać problem
Komentarze (0)