Blog

Xdebug configuren voor localWP en PHPStorm

Om mijn WordPress website te ontwikkelen maak ik gebruik van localWP en PHPStorm. LocalWP is een tool om WordPress-sites lokaal te ontwikkelen en te testen. PHPStorm is een geïntegreerde ontwikkelomgeving (IDE) voor PHP. Om mijn lokale code in PHPStorm te debuggen en te volgen gebruik ik Xdebug. Xdebug is een PHP-extensie die het mogelijk maakt om PHP-code te debuggen en te profileren. In dit artikel leg ik uit hoe je XDebug kan configureren in localWP en PHPstorm, zodat je je WordPress-code efficiënter kan debuggen.

1. Xdebug installeren op LocalWP

xdebug localwp en phpstorm extension
Xdebug installeren bij LocalWP is erg gemakkelijk. LocalWP heeeft namelijk extensions en één ervan is voor Xdebug en PhpStorm.  Installeer eerst de “Xdebug + PhpStorm”extensie in jouw localWP omgeving via de extensions. Daarna zul je op elke lokale site bij de tools tab een extensie “Xdebug + PhpStorm” zien.

Klik op  de link “Add run configuration to PhpStorm” en alle instellingen worden in de PHP configuratie geïnstalleerd. Als alles goed gaat kun je nu jouw WordPress project debuggen in PhpStorm.

2. Debugging met localWP en PhpStorm

Nu heb je phpstorm geconfigureerd om met xdebug te werken. De laatste stap is om de debugger te starten en je code te debuggen. Dit kan je doen door de volgende stappen te volgen:

– Zet een breakpoint in je code door op de linkermarge van de editor te klikken.
– Ga naar “Run” > “Debug ‘xdebug'” om de debugger te starten.
– Open je site in je browser en voer de actie uit die je wil debuggen.
– Je code zal stoppen bij het breakpoint en je kan de variabelen inspecteren, de code stap voor stap uitvoeren, enzovoort.

3. Troubleshooting, als blijkt dat het niet werkt.

Vaak werkt het debugging meteen in PhpStorm maar ik heb heb ook een paar keer gehad dat de code op de breakpoints niet stopte. Dit kun je als volgt onderzoeken en oplossen.

Welke Xdebug versie run je?

Voor elke lokale website in localWP kun je zien of Xdebug is aanstaat of niet. Door op de details link te klikken kun je de versie en de configuratie van Xdebug achterhalen. Dit is belangrijk omdat versie 3 een andere configuratie heeft dan een lagere versie!

Draait jouw website op PHP 7.4.33 dan heeft hij waarschijnlijk Xdebug versie 2.9. Wordt bijv. PHP 8.1 of hoger gebruikt, dan heb je Xdebug versie 3 of hoger.

Werkt het niet controleer dan de onderstaande settings in het php.ini.hbs bestand van jouw website. Het bestand php.ini.hbs kun je vinden in ~\Local Sites\[website_naam]\conf\php

				
					#xdebug configuratie version 3 of hoger
xdebug.client_host=127.0.0.1
xdebug.client_port=9003

#xdebug configuratie lager dan version 3
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9003
				
			

Pas de settings aan en start de website opnieuw. Vaak werkt dan het debuggen al.

Xdebug configuratie controleren voor LocalWP en PhpStorm

Mocht dit nog niet werken, dan kan het aan de settings in PhpStorm liggen. Controleer eerst of Xdebug settings kloppen.

  1. Selecteer de “edit configurations” optie rechtsboven bij de debug iconen.
  2. Controleer of de url goed staat ingesteld.
  3. Valideer vervolgens de Xdebug settings.

Zijn alle vinkjes bij de validatie groen dan is deze correct geïnstalleerd.

phpstorm xdebug configuratatie validatie

PhpStorm en Xdebug configuratie tip!

Als de debugging eenmaal werkt, merk je dat de code standaard blijft breaken op de 1ste code regel. Kan soms handig zijn maar ik vind het meestal onhandig. Dit kun je echter makkelijk uitzetten in de debug settings van PhpStorm.

Ga in PhpStorm naar file >> settings >> PHP >> Debug en vink de onderste 2 opties bij Xdebug uit. Als je debug weer opstart zal de code dan pas stoppen bij je eerste gezette breakpoint.

phpstorm xdebug settings

Overige tips bij troubleshooting

Mochten de bovenstaande oplossingen niet het juiste resultaat opleveren, hier nog een lijstje met tips van andere mensen:

  1. Controleer of je browser correct is geconfigureerd om xdebug te activeren. Je kan hiervoor een browserextensie gebruiken, zoals Xdebug Helper voor Chrome of Firefox. Zorg ervoor dat je de extensie inschakelt en de IDE key instelt op “PHPSTORM”.
  2. Controleer of je firewall of antivirus geen verbindingen blokkeert tussen je browser, je lokale server en phpstorm. Je kan proberen om je firewall of antivirus tijdelijk uit te schakelen of een uitzondering toe te voegen voor de poort 9003.

 

Gerelateerde artikelen