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.
| Miejsce | Gdzie je znajdziesz | Co tam jest | Kiedy zajrzeć |
|---|---|---|---|
| Dziennik PrestaShop | Zaawansowane > Logi | wpisy PrestaShop i modułów z datą i poziomem ważności | zawsze na początek |
| Tryb debugowania | Zaawansowane > Wydajność albo config/defines.inc.php | pełny komunikat z plikiem i linią, wprost na stronie | gdy strona jest pusta albo pokazuje błąd 500 |
| Pliki dziennika na serwerze | katalog var/logs | błędy zapisane przez warstwę Symfony | gdy panel nie działa albo błąd dotyczy zaplecza |
| Dziennik błędów hostingu | panel 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.
- Sprawdź dziennik. Jeśli treść błędu już tam jest, tryb debugowania nie jest potrzebny.
- Włącz debugowanie w panelu. Zaawansowane > Wydajność, przełącznik trybu debugowania. Opis tej strony jest w dokumentacji wydajności.
- Gdy panel nie działa, użyj pliku. W
config/defines.inc.phpzmień_PS_MODE_DEV_zfalsenatrue. Opisuje to dokumentacja dla developerów. - Odtwórz błąd. Otwórz stronę, która się psuje, i skopiuj cały komunikat: treść, plik i numer linii.
- Wyłącz debugowanie. Od razu po skopiowaniu komunikatu. Tryb debugowania pokazuje szczegóły techniczne każdemu odwiedzającemu.
- 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 komunikatu | Co zwykle oznacza | Kto pomoże |
|---|---|---|
| Allowed memory size exhausted | skrypt potrzebował więcej pamięci niż pozwala serwer | hosting |
| Class not found | brakuje pliku klasy, często po usunięciu modułu albo przy starym nadpisaniu | developer |
| Undefined array key albo Undefined index | moduł nie jest dostosowany do nowszego PHP, zwykle ostrzeżenie | autor modułu |
| SQLSTATE | błąd zapytania do bazy danych, często z modułu | autor modułu albo developer |
| Unable to load template | brakuje pliku szablonu w motywie albo w module | autor 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.
Wyciągnij z dziennika błędy i poważne problemy od poniedziałku, pogrupuj po treści i powiedz, na który moduł wskazują.
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ć.
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.