Debugging Mode (WordPress)
Je kunt instellen waar en hoe een WordPress debugging informatie presenteert; de zogenaamde debugging mode. Dit geschiedt doorgaans in bestand wp-config.php
. Het gaat om twee variabelen, waarvan eigenlijk alleen de eerste aangepast hoeft te worden:
WP_DEBUG
: Output in browserWP_DEBUG_LOG
: Output logfile.
Echter, soms werkt WP_DEBUG
niet (server dvb8). Wat in maart 2022 wel bleek te werken:
ini_set('display_errors','Off');
Bij elkaar:
/* That's all, stop editing! Happy blogging. */ # Debugging mode ######################################## # define('WP_DEBUG', false); define('WP_DEBUG_LOG', true); ini_set('display_errors','Off');
Voorbeeld: Productiesite
Voor productiesites is het gebruikelijk om geen browser-output te hebben, maar wel naar logbestanden. Voorbeeld van een site in mei 2021:
/** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. */ define('WP_DEBUG', false); define('WP_DEBUG_LOG', true);
Voorbeeld: Ontwikkelsite
Voorbeeld van instellingen rondom debugging mode voor een ontwikkelsite, of een productiesite die ge-debugged wordt:
/** * For developers: WordPress debugging mode. * * Change this to true to enable the display of notices during development. * It is strongly recommended that plugin and theme developers use WP_DEBUG * in their development environments. */ define('WP_DEBUG', true); define('WP_DEBUG_LOG', true );
Als WP_DEBUG niet werkt
In maart 2022 had ik de situatie, dat op server dvb8 WP_DEBUG
niet werkte. Wat wel werkte, was ini_set('display_errors','Off');
. Bij elkaar (merk op dat '#' voor commentaarregels, geen enkel probleem is):
/* That's all, stop editing! Happy blogging. */ # Debugging mode ######################################## # define('WP_DEBUG', false); define('WP_DEBUG_LOG', true); ini_set('display_errors','Off');
Mogelijke oorzaken:
- Dit is een relatief nieuwe server. Misschien heb ik vergeten om iets te installeren, bv. een bepaalde PHP-module? Deze site zegt dat het
WP_DEBUG
soms niet werkt op goedkope serveromgevingen. Misschien dat ik iets heb vergeten? - Dit werkt anders in PHP8?
Wat niet werkte:
define('WP_DEBUG_DISPLAY', false); define('WP DEBUG DISPLAY', false); define('WP DEBUG', false);
Mogelijk een grondige aanpak van het probleem [1]:
ini_set('log_errors','On'); ini_set('display_errors','Off'); ini_set('error_reporting', E_ALL ); define('WP_DEBUG', false); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);