WordPress Debug Mode – tipy pro debugging vašeho webu

WordPress Debug Mode – tipy pro debugging vašeho webu

Pokud jste se dostali k tomuto článku, předpokládám, že jste na svém WordPress webu narazili na chybu. Nebo že jste člověk, který pravidelně provádí údržbu a očekává, že se setká s nějakou chybou. Každopádně vám chci připomenout, že psaní kódu a vznik chyb jde ruku v ruce. I ti nejlepší vývojáři dělají chyby. Abyste kvůli chybám nemuseli zoufat, napsal jsem pro vás tohoto průvodce modem WordPress Debug. Jedná se o velmi užitečný nástroj pro odhalení a pochopení chyb ve WordPress. 

První krok při ladění kódu 

Posaďte se do křesla, několikrát se zhluboka nadechněte a vydechněte a uvědomte si, že všichni vývojáři někdy napsali chybný kód. Pokaždé, když napíšete chybný kód, se něco naučíte – a pokud se něco naučíte, budete se dále rozvíjet a zlepšovat své dovednosti. 

Člověk může mít dojem, že chyba tu je jen proto, aby vás přiváděla k šílenství, ale naštěstí je to značně nepravděpodobné. 😉 Dobré je, že pokud se nezabýváte nejnovějším stavem techniky, existuje velká šance, že se někdo jiný již setkal se stejnou chybou. 

Co je debugging? 

Pokud neznáte termín debugging, ve slově slyšíte: de - bugging. V počítačovém jazyce se chyba v kódu nazývá bug. Ladění kódu tedy znamená: odstraňování chyb z kódu. Ačkoli lidé rádi předpokládají, že bugy způsobují jejich vlastní zaměstnanci nebo špatně promyšlené aktualizace softwaru, pravdou je, že mnoho chyb má svůj vlastní rukopis – a je nejlepší si to včas uvědomit.

Proč se zdá debugging PHP složitější než debugging JavaScriptu

Možná jste zvyklí ladit v jiném jazyce, například v JavaScriptu. Trochu matoucí je, že JavaScript se spustí až po vykreslení webové stránky – alespoň takový je standard na webu a důvod, proč se soubor .js vkládá na konec dokumentu HTML. To znamená, že se vaše webové stránky mohou zobrazit i v případě chyb v JavaScriptu. Pokud si toho nevšimnete nebo nezkontrolujete protokol konzoly, nemusíte ani vědět, že došlo k chybě. 

PHP je jazyk na straně serveru a slouží k vytváření webových stránek (i když toho umí mnohem více). Pokud tedy dojde k chybě v kódu PHP, vaše webové stránky se nemusí načíst a návštěvníkům se nemusí zobrazit vůbec žádný obsah. Chyby PHP jsou tedy obvykle zřetelnější. 

Ladění na WordPress pomocí WP-Debug 

Co je to WordPress Debug Mode?

Pokud je aktivován režim ladění WP (někdy také nazývaný wp-debugger nebo wp-debug), zobrazuje chyby, nápovědy a varování hlášené WordPressem. Ve výchozím nastavení je wp-debugger vypnut. Konstanta PHP wp_debug je globální proměnná, která pomocí hodnoty boolean udává stav ladicího režimu WordPress, tj. zda je zapnutý nebo vypnutý. 

Proč byste měli používat režim ladění WordPress?

Protože WordPress používá několik různých základních komponent: 

Frontend - HTML / CSS

Backend - PHP / Databáze

Pluginy - aplikace PHP vytvořené třetími stranami

Proto může být poměrně obtížné zjistit, co způsobilo problém na vašich webových stránkách. Wp-debugger je nástroj, který umožňuje zobrazit nebo zaznamenat chyby. 

Než začnete ladit, vytvořte si zálohu! 

Existuje staré přísloví: "prevence je lepší než léčba". To znamená, že je nejlepší nenechat vzniknout problém na prvním místě. Pro vás to znamená: Zabezpečte svá data!

Třicetiminutová údržba se může rychle změnit v pětihodinovou noční můru jen proto, že předtím, než někdo zasáhl do interních souborů, nebyla provedena žádná záloha.

Pokud používáte pro své webové stránky hosting u Raidboxes, je záloha naštěstí tvořena automaticky! Stačí jít na svůj Dashboard, kliknout na kartu "Zálohy" a zobrazit všechny své denní zálohy. 

přehled záloh ve vašem Raidboxes dashboard

Chcete-li provést změny a potřebujete vytvořit ruční zálohu, klikněte na tlačítko "Vytvořit ruční zálohování" a pojmenujte zálohu. Tip: Vyberte název, který dává co největší smysl, abyste zálohu později rozpoznali. Nyní si můžete hrát se svými webovými stránkami, jak se vám líbí! Pokud se něco pokazí, stačí obnovit zálohu. 

jak vytvořit ruční zálohu ve vašem Raidboxes dashboard

Zapnout WordPress Debug Mode u Raidboxes

Na vašem Raidboxes Dashboardu můžete zapnout wp-debugger v nastavení svého Boxu, a to pouhým kliknutím: 

Jak zapnout WP-Debugger ve vašem Raidboxes dashboard

Pokud po aktivaci režimu ladění WP kliknete na WordPress Debug Logs, uvidíte v živém protokolu, které chyby váš WordPress web "vyhodil". K samotnému protokolu ladění můžete přistupovat buď prostřednictvím nastavení v položce WP Debug (viz obrázek), nebo přes přehled Boxu. K souborům WP Debug Log můžete přistupovat také přes FTP: Soubory protokolu jsou uloženy ve /wp-content/ v souboru debug.log.

WordPress Debug Mode – tipy pro debugging vašeho webu

Více informací o analýze chyb vašeho WordPress webu u Raidboxes najdete v našem Centru nápovědy.

Potřebujete pro ladění wp-config.php?

Na vašem Raidboxes Dashboardu můžete zapnout wp-debugger v nastavení svého Boxu, a to pouhým kliknutím. Wp-config .php je z bezpečnostních důvodů jen pro čtení. V nastavení vašeho Boxu pod WordPress >wp-config.php ale můžete v případě potřeby přidat speciální položky.

Velmi důležité: Tuto funkci použijte pouze v případě, že jste si jisti, co jednotlivé položky udělají. Protože úprava wp-config .php může vést k chybě na webu. Takže před přidáním položky byste měli zkontrolovat, zda jste si již vytvořili zálohu.

V následující části vysvětlíme, jak povolit režim WP debuggingu prostřednictvím souboru wp-config.php u lokálního vývoje.

Aktivujte WordPress Debug lokálně 

Ve svém lokálním vývoji můžete povolit wp-debug úpravou souboru wp-config.php v kořenovém adresáři WordPress a přidáním následujícího kódu: 

// Dies aktiviert das Debugging.
define( 'WP_DEBUG', true );

Můžete také zjistit, že tento příkaz již byl přidán, ale jeho hodnota je false. V takovém případě jednoduše nastavte hodnotu true. 

// Dies deaktiviert das Debugging.
define( 'WP_DEBUG', false );
kde se nachází váš soubor wp-config
zapnutí režimu ladění WordPress  v PHP

Na tomto místě bych chtěl znovu zdůraznit, jak důležité je mít zálohu. Nyní je vhodná doba na to, abyste se znovu ujistili.  

WordPress Debug Mode je aktivován – a co teď?

Po aktivaci wp-debuggeru se chyby zobrazují přímo v okně prohlížeče (pokud je WP_DEBUG_DISPLAY nastaven na true) – což je prokletím i požehnáním. Na jedné straně vidíte chyby, ale na druhé straně je vidí všichni uživatelé vašeho webu, což není ideální. Jako příklad uvedu malou neznámou funkci, kterou jsem přidal do zápatí standardní WordPress šablony "Twenty Twenty-One"

Před aktivací wp-debug: 

před aktivací režimu ladění WordPress

Po aktivaci wp-debug: 

po aktivaci režimu ladění WordPress  .

Pravděpodobně nechcete, aby to viděli návštěvníci vašich webových stránek, že? Chybová zpráva nejenže narušuje design, ale může dokonce odhalit citlivé informace. Než jsem například provedl některé změny ve výstupu, zobrazilo se mé uživatelské jméno a na základě těchto informací mohl každý hacker zahájit útok. 

Jsou vaše chyby zaznamenány?

Pokud aktivujete WP-Debug, informace o chybě se neuloží, ale pouze zobrazí. Pro uložení těchto informací je třeba povolit wp_debug_log – podrobněji o tom pojednává další část článku.

Jak aktivovat WordPress Debug Mode ;a zabránit zobrazování chyb v kódu HTML

Naštěstí ve WordPress existuje řešení tohoto problému. Do souboru wp-config.php přidejte následující kód: 

define( 'WP_DEBUG_DISPLAY', false );

Tím zabráníte tomu, aby se v kódu HTML vašeho webu objevovaly chyby, a ušetříte své uživatele noční můry, kterou jste jim mohli způsobit. Poslední částí skládačky je způsob kontroly chyb bez jejich zveřejňování. Vítejte v protokolování chyb! 

Aktivace přihlašování chyb ve WordPress 

V souboru wp-config.php musíte povolit protokolování chyb WordPress. Tím se vytvoří soubor .log s protokoly a podrobnostmi o chybách, které se vyskytly na vašich webových stránkách. 

define( 'WP_DEBUG_LOG', true );

Soubor protokolu obvykle najdete ve složce wp-content na WordPress webu, pokud nemáte platnou cestu k souboru protokolu, jak je uvedeno níže: 

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Můj protokol o chybách byl však zapsán do kořenového WordPress adresáře. Pokud tedy nenajdete protokol o chybách ve složce wp-content, měli byste hledat jinde:  

soubor protokolu v souborovém systému

Prohlížení protokolu o chybách

Protokoly o chybách poskytují poměrně jasné informace o tom, co se pokazilo. Ale to, že je něco jasné, ještě neznamená, že tomu rozumíte, takže si to rozebereme. 

příklad záznamu protokolu z režimu ladění WordPress
  1. Čas chyby: [12-Apr-2021 20:32:47 UTC]
  2. Typ chyby: PHP Fatal Error
  3. Příčina chyby:Uncaught Error: Call to undefined function writeMsg() in
  4. Kde došlo k chybě: /home/XXXXXXX/DEVELOPMENT/wp/wp-content/themes/twentytwentyone/footer.php:73

Pokud vás zajímá, co je to za chybu, kterou jsem tam vložil, definoval jsem v souboru footer.php nesprávnou metodu writeMsg(), která způsobuje chybu. 

Nezapomeňte jej deaktivovat!

Důležité: Nezapomeňte po analýze deaktivovat režim ladění WordPress. Pokud jej necháte aktivní, bude WordPress zapisovat všechny nalezené chyby do souboru debug.log. Vyskytují-li se chyby pravidelně, může být tento soubor příliš velký a zabírat paměť.

Je protokol chyb WordPress příliš velký?

Protokoly o chybách mohou časem narůstat, pokud nejsou kontrolovány. Nezapomeňte, že se zaznamenávají nejen chyby, ale také varování a nápovědy. S příchodem nových verzí jazyka PHP mohou být některé metody zastaralé, nebo nemusí být některé pluginy už podporovány. V takovém případě bude generováno o to více chyb. 

Normálně by měl mít protokol o chybách velikost jen několik kB, ale i tak je jeho prohledávání zdlouhavé. V horších případech jsou chyby zaznamenány v souboru, který má již několik MB a obsahuje tisíce řádků textu. Kromě toho, že přehlednost klesá, dochází i ke zpomalení reakční doby souboru protokolu, což může velmi zpomalit vyhledávání chyb kvůli čekací době při načítání protokolu. Co tedy dělat? 

Stáhněte si soubor k archivaci a poté jej smažte! 

Pokud byly v souboru wp-config.php aktivovány protokoly chyb WordPress a nelze najít žádný soubor error.log, vytvoří WordPress zcela nový soubor a naplní jej aktuálními chybami.

Závěr

Ladění kódu je pro vývoj náročné, ale i přínosné. Chyby vás totiž nutí rozšiřovat si znalosti, rozvíjet pozitivní přístup a přemýšlet jinak než v běžných situacích. Pokud máte jakékoli dotazy nebo potíže s laděním WordPress webových stránek, neváhejte nám napsat komentář nebo nás kontaktujte přes chatu. Hodně štěstí při debuggingu!

Máte nějaké další otázky?

Máte-li další dotazy týkající se WordPress Debug Mode, použijte funkci komentáře! Zajímají vás aktuální témata týkající se WordPressu, webdesignu a online byznysu? Pak sledujte Raidboxes na Twitteru, FacebookuLinkedIn nebo prostřednictvím našeho newsletteru.

Líbil se vám tento článek?

Svou recenzí nám pomůžete zlepšit náš obsah.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *.