Debug mode v PrestaShopu a záznamy: kde si přečíst chybovou hlášku
Debug mode v PrestaShopu zapnete v Rozšířené parametry > Výkon (v administraci Režim ladění) nebo v souboru config/defines.inc.php. Sám nic neopraví. Místo prázdné stránky ukáže chybovou hlášku. Než ho zapnete, podívejte se do záznamů v Rozšířené parametry > Záznamy. Chybová hláška tam často už je, s datem a názvem modulu.
Autor: Tým TellMyShop. Průvodce pro majitele obchodů na PrestaShopu: příčina, ruční oprava a stejná práce v rozhovoru v chatu.
Naposledy aktualizováno: · 4 min čtení
Kam PrestaShop zapisuje chybovou hlášku?
Na čtyři místa a každé vidí trochu jiné chyby.
| Místo | Kde ho najdete | Co obsahuje | Kdy se dívat |
|---|---|---|---|
| Záznamy PrestaShopu | Rozšířené parametry > Záznamy | položky PrestaShopu a modulů s datem a úrovní závažnosti | vždy, jako první |
| Debug mode | Rozšířené parametry > Výkon nebo config/defines.inc.php | celá hláška se souborem a řádkem, přímo na stránce | když je stránka prázdná nebo ukazuje chybu 500 |
| Soubory logů na serveru | složka var/logs | chyby zapsané vrstvou Symfony | když administrace nefunguje nebo se chyba týká administrace |
| Protokol chyb hostingu | panel hostingu, obvykle „error log“ nebo „PHP logy“ | chyby PHP, včetně těch, které PrestaShop nestihl uložit | když jsou záznamy v administraci prázdné |
Je tu i páté místo, konzole prohlížeče. Otevřete ji klávesou F12. Ukazuje chyby skriptů, například když tlačítko nic nedělá a logy e-shopu jsou prázdné. Popis obrazovky záznamů najdete v dokumentaci PrestaShopu.
Jak bezpečně zapnout debug mode?
Na co nejkratší dobu, ideálně na testovací kopii e-shopu.
- Zkontrolujte záznamy. Pokud tam chybová hláška už je, debug mode nepotřebujete.
- Zapněte ladění v administraci. Rozšířené parametry > Výkon, přepínač režimu ladění. Tuto stránku popisuje dokumentace k výkonu.
- Když administrace nefunguje, použijte soubor. V
config/defines.inc.phpzměňte_PS_MODE_DEV_zfalsenatrue. Popisuje to dokumentace pro vývojáře. - Vyvolejte chybu znovu. Otevřete stránku, která se rozbíjí, a zkopírujte celou hlášku: text, soubor a číslo řádku.
- Vypněte ladění. Hned po zkopírování hlášky. Debug mode ukazuje technické podrobnosti každému návštěvníkovi.
- Vymažte mezipaměť. Rozšířené parametry > Výkon, tlačítko v pravém horním rohu.
Další přepínače, včetně vypnutí overridů a modulů mimo PrestaShop na dobu testu, popisuje návod icomSEO k debug mode (polsky).
Jak číst záznam v logu?
Dívejte se na tři věci: úroveň závažnosti, cestu k souboru a datum prvního výskytu.
Úroveň závažnosti říká, jak je to naléhavé. Jednička je informace, dvojka varování, trojka chyba a čtyřka závažný problém, který obvykle zastaví stránku. Cesta k souboru říká, čí je to chyba. Úsek jako modules/nazev_modulu ukazuje na modul, themes/ na šablonu a override/ na override, který zanechal modul. Datum prvního výskytu říká, co se v tu dobu změnilo. Chyba, která začala čtvrt hodiny po aktualizaci modulu, obvykle pochází z tohoto modulu.
Když záznam posíláte autorovi modulu nebo vývojáři, zkopírujte ho celý. Přidejte verzi PrestaShopu, verzi PHP a popis toho, na co klikáte, než se chyba objeví. Když už e-shop ukazuje chybu 500, přejděte k plánu v článku chyba 500 v PrestaShopu. Když záznam ukazuje na modul, podívejte se, jak vypnout modul PrestaShopu bez ztráty jeho dat.
Které hlášky uvidíte nejčastěji?
V e-shopech na PrestaShopu se opakuje několik druhů hlášek a každá napovídá, koho požádat o pomoc.
| Úsek hlášky | Co obvykle znamená | Kdo pomůže |
|---|---|---|
| Allowed memory size exhausted | skript potřeboval víc paměti, než server dovolí | váš hosting |
| Class not found | chybí soubor třídy, často po odstranění modulu nebo se starým overridem | vývojář |
| Undefined array key nebo Undefined index | modul není přizpůsobený novějšímu PHP, obvykle varování | autor modulu |
| SQLSTATE | chyba dotazu do databáze, často z modulu | autor modulu nebo vývojář |
| Unable to load template | v šabloně nebo modulu chybí soubor šablony | autor šablony nebo vývojář |
Do hlášení vložte hlášku celou. Nezkracujte ji ani nepřepisujte vlastními slovy, protože autor hledá přesný text.
Jak projít záznamy s chatem?
Požádáte o záznamy za zvolené období a váš chat (Claude nebo ChatGPT) seskupí opakované chyby a vysvětlí je srozumitelně. Také pojmenuje modul, na který chyba nejspíš ukazuje.
Vy: Vytáhni ze záznamů chyby a závažné problémy od pondělí, seskup je podle hlášky a řekni mi, na který modul ukazují.
Váš chat: Od pondělí je 52 záznamů na úrovni chyby a žádné závažné problémy. Tři skupiny:
41 záznamů z modulu recenzí, vždy na stránce produktu, od úterního rána.
9 záznamů z modulu newsletteru při přihlášení adresy, rozložených v čase.
2 záznamy o chybějícím obrázku v kategorii Lucerny, drobný problém s obsahem.
Nejnaléhavější je první skupina. Začala po aktualizaci modulu recenzí.
Debug mode je vypnutý a tak by to mělo zůstat.
Čtení záznamů funguje v bezplatném TellMyShop Free, bez nákupu. Ve výchozím stavu pokrývá posledních 7 dní a až 200 položek najednou. E-mailové adresy, telefonní čísla a IP adresy jsou maskované. Technická kontrola e-shopu vám také řekne, zda někdo nenechal zapnutý debug mode. Hotový požadavek najdete v případu použití porozumět chybovým hláškám po aktualizaci modulu.
Soubory ze složky var/logs ani protokol chyb hostingu chat nečte. Když e-shop vůbec neodpovídá, nefunguje ani modul TellMyShop, protože běží uvnitř e-shopu.
Otázky a odpovědi
Kde jsou v PrestaShopu logy?
Na třech místech. Záznamy v administraci jsou v Rozšířené parametry > Záznamy a ukazují položky uložené PrestaShopem a moduly. Soubory logů leží na serveru ve složce var/logs. Chyby PHP, které PrestaShop nestihl uložit, jsou v protokolu chyb v panelu hostingu.
Můžu nechat debug mode zapnutý?
Nenechávejte. Debug mode ukazuje technické podrobnosti každému návštěvníkovi, včetně cest k souborům na serveru. Také vypíná část mezipaměti, takže e-shop běží pomaleji. Zapněte ho na dobu diagnostiky, ideálně na testovací kopii, a hned potom ho vypněte.
Co znamenají úrovně závažnosti v záznamech PrestaShopu?
Záznamy mají čtyři úrovně. Jednička je informace, dvojka varování, trojka chyba a čtyřka závažný problém, který obvykle zastaví stránku. Běžně sledujte úrovně tři a čtyři. Varování čtěte, když se něco chová divně a v záznamech chyby nejsou.
Jak dostávat upozornění na chyby e-mailem?
V Rozšířené parametry > Záznamy nastavíte minimální úroveň závažnosti, od které PrestaShop pošle administrátorovi e-mail. Nastavte ji na chyby nebo závažné problémy, tedy tři nebo čtyři. Na úrovni varování se vám schránka rychle zaplní a důležité zprávy se ztratí mezi drobnostmi.
Přečte chat logy serveru?
Chat čte záznamy PrestaShopu z administrace, ve výchozím stavu za posledních 7 dní a až 200 položek najednou. E-mailové adresy, telefonní čísla a IP adresy jsou ve výsledcích maskované. Soubory z var/logs ani protokol chyb hostingu chat nečte. Ty zkontrolujte v panelu hostingu, nebo o ně požádejte hosting.
PrestaShop je registrovaná ochranná známka společnosti PrestaShop SA. Claude je ochranná známka společnosti Anthropic PBC. ChatGPT a OpenAI jsou ochranné známky společnosti OpenAI. TellMyShop s těmito společnostmi není propojen.