Logování (vypisování chybových a jiných zpráv, např. do souboru), je velice užitečná věc v případě, že víme o problém, ale nevíme, jak vzniká (např. nefungující plugin ve WP apod.). Toto je cesta, která nám může pomoci problém najít – ač není všespásná, je to dobré místo, kde začít.
Jak logování zapnout
Logování zapnete v souboru wp_config.php (ve složce, kde jsou zdrojové soubory webu, přes FTP).
Téměř na konci je věta “/* That’s all, stop editing! Happy publishing. */” – před ní je vhodné místo pro vložení.
//zapnout logování
define( 'WP_DEBUG', true );
//logování do souboru
define( 'WP_DEBUG_LOG', true );
//logování do obrazovky
define( 'WP_DEBUG_DISPLAY', true);
//vynutí stažení neminifikovaných CSS+JS souborů
define('SCRIPT_DEBUG', true);
Logy pak najdete na adrese www.{vas-web}.cz/debug.log.
Fyzicky log najdete mezi soubory webu (např. přes FTP) ve složce /wp-content.
Hodí se změnit umístění
Protože je tahle adresa známá a předem daná, je to jedna z adres, ze které se berou jako bezpečnostní slabina (útočník může zjistit, jaké máte na webu pluginy, jak (ne) fungují a zneužít toho). Proto je dobré nasměrovat logy do jiného souboru.
Pokud tedy chcete mít logování zapnuté delší dobu než jen na chvilku, silně doporučuji logy přesměrovat.
Možnost je do wp_config.php (cílovou -existující – cestu změňte, jak libo):
//nepoužít define( 'WP_DEBUG_LOG', true ); ale ->
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log');
Případně je možné dát i do functions.php (ideálně do child theme):
if (defined('WP_DEBUG_LOG') && WP_DEBUG_LOG) {
ini_set( 'error_log', WP_CONTENT_DIR . '/debug-on-new-place.log' );
}
Nezapomeňte vypnout
Když je problém vyřešen a logování nepotřebujete, nezapomeňte ho vypnout. Šetříte tak (ač minimálně) procesy, místo na disku a další.
define( 'WP_DEBUG', false);
define( 'WP_DEBUG_LOG', false);
define( 'WP_DEBUG_DISPLAY', false);
define( 'SCRIPT_DEBUG', false);
Logy pak najdete na adrese www.{vas-web}.cz/debug.log.
Fyzicky log najdete mezi soubory webu (např. přes FTP) ve složce /wp-content.
Chcete další podrobnosti? O těch jsme mluvili na webináři:
Zdroje
- https://wordpress.org/support/article/debugging-in-wordpress/
- https://wordpress.stackexchange.com/questions/84132/is-it-possible-to-change-the-log-file-location-for-wp-debug-log/84171#84171
- https://www.wpxpo.com/how-to-enable-error-reporting-in-wordpress/