Tryb debugowania PrestaShop i dzienniki: gdzie przeczytać treść błędu

Tryb debugowania PrestaShop włączasz w Zaawansowane > Wydajność albo w pliku config/defines.inc.php. Sam w sobie niczego nie naprawia. Pokazuje treść błędu zamiast pustej strony. Zanim go włączysz, zajrzyj do dziennika w Zaawansowane > Logi. Często treść błędu już tam jest, z datą i nazwą modułu.

Autor: Sani. Sani buduje moduł TellMyShop i na co dzień pracuje z zapleczem sklepów PrestaShop.
Aktualizacja: · 4 min czytania

Gdzie PrestaShop zapisuje treść błędu?

W czterech miejscach, a każde widzi trochę inne błędy.

MiejsceGdzie je znajdzieszCo tam jestKiedy zajrzeć
Dziennik PrestaShopZaawansowane > Logiwpisy PrestaShop i modułów z datą i poziomem ważnościzawsze na początek
Tryb debugowaniaZaawansowane > Wydajność albo config/defines.inc.phppełny komunikat z plikiem i linią, wprost na stroniegdy strona jest pusta albo pokazuje błąd 500
Pliki dziennika na serwerzekatalog var/logsbłędy zapisane przez warstwę Symfonygdy panel nie działa albo błąd dotyczy zaplecza
Dziennik błędów hostingupanel hostingu, zwykle „error log” albo „logi PHP”błędy PHP, także te, których PrestaShop nie zdążył zapisaćgdy dziennik w panelu jest pusty

Jest jeszcze piąte miejsce, konsola przeglądarki. Otwierasz ją klawiszem F12. Pokazuje błędy skryptów, na przykład gdy przycisk nic nie robi, a w dziennikach sklepu jest pusto. Opis ekranu dzienników znajdziesz w dokumentacji PrestaShop.

Jak bezpiecznie włączyć tryb debugowania?

Na jak najkrótszy czas i najlepiej na kopii testowej sklepu.

  1. Sprawdź dziennik. Jeśli treść błędu już tam jest, tryb debugowania nie jest potrzebny.
  2. Włącz debugowanie w panelu. Zaawansowane > Wydajność, przełącznik trybu debugowania. Opis tej strony jest w dokumentacji wydajności.
  3. Gdy panel nie działa, użyj pliku. W config/defines.inc.php zmień _PS_MODE_DEV_ z false na true. Opisuje to dokumentacja dla developerów.
  4. Odtwórz błąd. Otwórz stronę, która się psuje, i skopiuj cały komunikat: treść, plik i numer linii.
  5. Wyłącz debugowanie. Od razu po skopiowaniu komunikatu. Tryb debugowania pokazuje szczegóły techniczne każdemu odwiedzającemu.
  6. Wyczyść pamięć podręczną. Zaawansowane > Wydajność, przycisk w prawym górnym rogu.

Więcej przełączników, w tym wyłączanie nadpisań i modułów spoza PrestaShop na czas testu, opisuje icomSEO w poradniku o trybie debug.

Jak czytać wpis w dzienniku?

Patrz na trzy rzeczy: poziom ważności, ścieżkę pliku i pierwszą datę wystąpienia.

Poziom ważności mówi, jak pilna jest sprawa. Jedynka to informacja, dwójka ostrzeżenie, trójka błąd, a czwórka poważny problem, który zwykle zatrzymuje stronę. Ścieżka pliku mówi, czyj jest błąd. Fragment modules/nazwa_modulu wskazuje moduł, themes/ motyw, a override/ nadpisanie po module. Pierwsza data wystąpienia mówi, co się wtedy zmieniło. Błąd, który zaczął się kwadrans po aktualizacji modułu, zwykle pochodzi z tego modułu.

Wpis kopiuj w całości, gdy wysyłasz go autorowi modułu albo developerowi. Dopisz wersję PrestaShop, wersję PHP i opis, co klikasz, zanim błąd się pojawi. Gdy sklep pokazuje już błąd 500, przejdź do planu z tekstu PrestaShop błąd 500. Gdy dziennik wskazuje moduł, sprawdź, jak przeprowadzić wyłączenie modułu PrestaShop bez utraty jego danych.

Jakie komunikaty spotkasz najczęściej?

Kilka rodzajów komunikatów powtarza się w sklepach PrestaShop i każdy podpowiada, kogo poprosić o pomoc.

Fragment komunikatuCo zwykle oznaczaKto pomoże
Allowed memory size exhaustedskrypt potrzebował więcej pamięci niż pozwala serwerhosting
Class not foundbrakuje pliku klasy, często po usunięciu modułu albo przy starym nadpisaniudeveloper
Undefined array key albo Undefined indexmoduł nie jest dostosowany do nowszego PHP, zwykle ostrzeżenieautor modułu
SQLSTATEbłąd zapytania do bazy danych, często z modułuautor modułu albo developer
Unable to load templatebrakuje pliku szablonu w motywie albo w moduleautor motywu albo developer

Komunikat po angielsku wklej w całości do zgłoszenia. Nie tłumacz go i nie skracaj, bo autor szuka po dokładnym tekście.

Jak przejrzeć dziennik z Claude?

Prosisz o wpisy z wybranego okresu, a Claude grupuje powtarzające się błędy i tłumaczy je na zwykły język. Wskazuje też moduł, na który błąd najpewniej wskazuje.

Ty

Wyciągnij z dziennika błędy i poważne problemy od poniedziałku, pogrupuj po treści i powiedz, na który moduł wskazują.

Claude

Od poniedziałku są 52 wpisy na poziomie błędu i żaden poważny. Trzy grupy:

41 wpisów z modułu opinii, zawsze na karcie produktu, od wtorku rano.

9 wpisów z modułu newslettera przy zapisie adresu, rozproszone w czasie.

2 wpisy o braku zdjęcia w kategorii Lampiony, to drobna sprawa w treści.

Najpilniejsza jest pierwsza grupa. Zaczęła się po aktualizacji modułu opinii.

Tryb debugowania jest wyłączony i tak powinno zostać.

Ilustracja: produkty, liczby i odpowiedzi są przykładowe.

Odczyt dziennika działa w darmowym Audycie, bez zakupu. Domyślnie obejmuje ostatnie 7 dni i do 200 wpisów naraz. Adresy e-mail, telefony i adresy IP są maskowane. Przegląd techniczny sklepu powie też, czy ktoś nie zostawił włączonego trybu debugowania. Gotową prośbę znajdziesz w zastosowaniu zrozum komunikaty błędów po aktualizacji modułu.

Claude nie czyta plików z katalogu var/logs ani dziennika błędów hostingu. Gdy sklep nie odpowiada w ogóle, moduł TellMyShop też nie działa, bo pracuje wewnątrz sklepu.

Pytania i odpowiedzi

Gdzie w PrestaShop są logi?

W trzech miejscach. Dziennik w panelu jest w Zaawansowane > Logi i pokazuje wpisy zapisane przez PrestaShop i moduły. Pliki dziennika leżą w katalogu var/logs na serwerze. Błędy PHP, których PrestaShop nie zdążył zapisać, znajdziesz w dzienniku błędów w panelu hostingu.

Czy tryb debugowania można zostawić włączony?

Nie zostawiaj go. Tryb debugowania pokazuje szczegóły techniczne każdemu odwiedzającemu, w tym ścieżki plików na serwerze. Wyłącza też część pamięci podręcznej, więc sklep działa wolniej. Włącz go na czas diagnozy, najlepiej na kopii testowej, i od razu po niej wyłącz.

Co oznaczają poziomy ważności w dzienniku PrestaShop?

Wpisy mają cztery poziomy. Jeden to informacja, dwa to ostrzeżenie, trzy to błąd, a cztery to poważny problem, który zwykle zatrzymuje stronę. Na co dzień patrz na poziomy trzy i cztery. Ostrzeżenia czytaj wtedy, gdy coś działa dziwnie, a w dzienniku brakuje błędów.

Jak dostawać powiadomienia o błędach na e-mail?

W Zaawansowane > Logi ustawisz minimalny poziom ważności, od którego PrestaShop wysyła wiadomość do administratora. Ustaw poziom błędów albo poważnych problemów, czyli trzy albo cztery. Przy poziomie ostrzeżeń twoja skrzynka szybko się zapełni, a ważne wiadomości zginą wśród drobnych.

Czy Claude przeczyta logi z serwera?

Claude czyta dziennik PrestaShop z panelu, domyślnie z ostatnich 7 dni i do 200 wpisów naraz. Adresy e-mail, telefony i adresy IP są w wynikach maskowane. Plików z katalogu var/logs i dziennika błędów hostingu Claude nie czyta. Te sprawdzisz w panelu hostingu albo poprosisz o nie hosting.

PrestaShop jest zastrzeżonym znakiem towarowym PrestaShop SA. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadną z tych firm.

Moduł startuje 29 października

Zapisz się na listę. Cenę Founders, 599 zł netto zamiast 799 zł, dostaniesz 72 godziny przed innymi.

Kilka wiadomości przed startem. Wypiszesz się jednym kliknięciem. Polityka prywatności

Przeczytaj też