Debuggen

Het overkomt ons allemaal wel eens; er is een probleem of fout met onze site en we moeten eens goed kijken naar de site om erachter te komen wat het probleem veroorzaakt en hoe we het kunnen oplossen.

WordPress is een dynamisch CMS, wat betekent dat er constant code op de achtergrond draait om de pagina’s die je ziet te genereren. Af en toe kun je last hebben van conflicterende code tussen plugins, code syntaxfouten in je thema, verkeerde code snippets in je functions.php bestand of andere PHP-gerelateerde problemen.

Om deze problemen aan te pakken, kan het inschakelen van de debugmodus in WordPress jou of je developer helpen bij het oplossen van problemen op je site. Deze ingebouwde debugmodus kan je helpen opsporen wat er aan de hand is door alle PHP fouten, meldingen en waarschuwingen weer te geven. Er zijn bovendien extra foutopsporingsopties te vinden die van pas kunnen komen bij het onderzoeken van specifieke soorten problemen.

Normaal gesproken vereist het inschakelen van de debugmodus dat je je wp-config.php bestand moet bewerken via SSH of SFTP. Dit kan lastig zijn, vooral als je de inloggegevens van WordPress niet bij de hand hebt of geen SFTP client hebt geïnstalleerd. Hier bij Kinsta ontwikkelen we voortdurend handige tools in MyKinsta om je WordPress workflow te versnellen. Met onze WordPress debuggingtool kun je eenvoudig de debugmodus in- en uitschakelen zonder ook maar één regel code aan te raken.

Zodra je de bron van een probleem hebt geïdentificeerd, kun je de details rapporteren aan de ontwikkelaar van de plugin of het thema of aan de ontwikkelaar van je website. Als er niet direct een oplossing beschikbaar is, moet je de plugin of het thema mogelijk deactiveren totdat het probleem is opgelost.

WP_DEBUG inschakelen

Om WP_DEBUG in te schakelen, log je in op MyKinsta en selecteer je de site en omgeving waarop je het wilt inschakelen.

Ga naar het tabblad Tools en klik op de knop Inschakelen onder WordPress debugging.

WordPress debugmodus inschakelen in MyKinsta.
WordPress debugmodus inschakelen in MyKinsta.

Dit zorgt ervoor dat WordPress alle PHP fouten, meldingen en waarschuwingen op je site bovenaan de pagina laat zien, naast je foutenlogs in MyKinsta. Deze worden aan elke bezoeker getoond en kunnen zowel op de front-end van je site als in het WordPress dashboard worden weergegeven. De schermafbeelding hieronder toont een typische PHP waarschuwing met debugmodus ingeschakeld.

Een PHP waarschuwing met WordPress debug modus ingeschakeld.
Een PHP waarschuwing met WordPress debug modus ingeschakeld.

Als je nu het wp-config.php bestand van je site bekijkt, zie je dat de volgende regel is toegevoegd net voor de regel /* That's all, stop editing! Happy blogging. */:

if (! defined('WP_DEBUG') ) { define( 'WP_DEBUG', true ); } // line added by the MyKinsta

Door WP_DEBUG op true te zetten, wordt debuggen in WordPress ingeschakeld.

WP_DEBUG uitbreiden

Er zijn een paar constants die dienen als aanvulling op WP_DEBUG door extra debugopties in te schakelen.

Debuglogs

Als je fouten wilt opslaan in een logbestand, kun je WP_DEBUG_LOG inschakelen door je wp-config.php bestand te bewerken en de volgende regel toe te voegen na de regel die WP_DEBUG inschakelt:

define( 'WP_DEBUG_LOG', true );

Standaard wordt dit logbestand opgeslagen in: wp-content/debug.log op de server. Als je wilt, kun je het pad en de bestandsnaam aanpassen. In dit voorbeeld slaan we het logbestand op in de tmp directory en geven we het bestand de naam wp-errors.log:

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

Script debug

Het inschakelen van SCRIPT_DEBUG dwingt WordPress om de dev versies van core CSS en JavaScript bestanden te gebruiken in plaats van de geminificeerde versies die het normaal gesproken laadt:

define( 'SCRIPT_DEBUG', true );

Dit kan handig zijn bij het oplossen van JavaScript of CSS problemen en je vermoedt een conflict of ander probleem met core JavaScript of CSS bestanden.

Databasequery debugging

Schakel SAVEQUERIES in om databasequery’s op te slaan in een array:

define( 'SAVEQUERIES', true );

Dit slaat elke query op met hoe lang het duurde om de query uit te voeren en welke functie de query aanriep. De array kan worden geopend of weergegeven met de globale $wpdb->queries.

WP_DEBUG uitschakelen

Als je klaar bent met het oplossen van problemen op je WordPress site, kun je de debugmodus uitschakelen door op Uitschakelen te klikken in de debugtool van WordPress.

WordPress debugmodus uitschakelen in MyKinsta.
WordPress debugmodus uitschakelen in MyKinsta.

Andere debugprogramma’s en tools

Query Monitor plugin

De Query Monitor plugin is een gratis plugin die handig is voor het debuggen van een aantal verschillende gebieden in WordPress. Het kan je helpen bij het opsporen van langzame databasequeries, AJAX calls, REST API verzoeken en nog veel meer. Voor meer details hebben we een blogbericht over het gebruik van de Query Monitor plugin.

Kinsta’s APM tool

Kinsta’s APM tool helpt je bij het identificeren van PHP prestatieknelpunten op je WordPress site zonder dat je je hoeft aan te melden voor externe monitoringsdiensten zoals New Relic.

New Relic

New Relic is een monitoringstool die je gedetailleerde prestatie-onderverdelingen geeft op een gedetailleerd niveau.

Serverlogs

Logbestanden zijn beschikbaar in MyKinsta en kunnen ook worden gedownload via SFTP. Deze bestanden kunnen handig zijn bij het oplossen van fouten of het opsporen van andere problemen op je site.

Was dit artikel nuttig?