You may want to put some text here

PHP code debuggen met Xdebug op XAMPP

Xdebug logoXdebug kan je gebruiken om je PHP code te debuggen en te profilen. Onder profilen verstaan we het timen van hoelang de parser erover doet om elke functie/klasse uit te voeren van je code. Zo kan je op een gerichte manier je code gaan optimaliseren.

In deze tutorial laat ik zien hoe je Xdebug installeerd op een XAMPP server maar je kunt dit even goed op een gewone apache/php server toepassen mits het aanpassen van de verschillende paden.

Xdebug downloaden

Het eerste wat je moet doen is Xdebug downloaden. Om je juiste Xdebug versie te kiezen moet je even kijken naar welke versie van PHP geïnstalleerd is. Dit kan je bijvoorbeeld doen met de phpinfo() functie.

In mijn geval is dat 5.2.4. Ik zal dus de Xdebug 5.2 dll moeten downloaden.  Heb je bijvoorbeeld PHP versie 5.3.1 dan zal je Xdebug versie 5.3 moeten downloaden. Let er ook op dat er achter de versie die je download niet Non-thread-safe staat. Het is dus heel belangrijk dat je de thread-safe versie download.

Plaats vervolgens de gedownloade dll in de map XMAMPP\php\ext, waarschijnlijk is dit de folder c:\xampp\php\ext. Geef de dll de naam php_xdebug.dll.

Xdebug laden

Het volgende wat je gaat doen is ervoor zorgen dat de Xdebug dll geladen wordt. Dit doe je door het php.ini bestand te open. Dit bestand vindt je normaal onder C:\DMAX\Review\apache\bin\php.ini.

Plaats onderaan het bestand de volgende code:

  zend_extension_ts="C:\xampp\php\php_xdebug.dll"
  xdebug.remote_enable=On
  xdebug.remote_host="localhost"
  xdebug.remote_port=9000
  xdebug.remote_handler="dbgp"
  xdebug.show_local_vars=On
  xdebug.collect_return=On
  xdebug.collect_params=4
  xdebug.profiler_enable=On
  xdebug.profiler_enable_trigger=1
  xdebug.profiler_output_dir="C:\xdebug"

Controlleer of het path naar de dll klopt. Als dit zo is sla je het document op en herstart je de apache server. Als je nu een PHP script uitvoerd dan zal er een bestand aangemaakt worden in de map c:\xdebug met ongeveer een naam als deze: cachegrind.out.5180. Controlleer even of er zo’n bestand is aangemaakt. Als dat zo is dan zijn we klaar met de installatie.

Xdebug bestanden analyseren

De echte geeks kunnen deze bestanden met notepad of Vi open en op deze manier analyseren maar op die manier krijg je niet direct een idee waar nu juist het probleem in je script zit. Je kunt beter een tooltje als WinCacheGrind gebruiken om deze bestanden te analyzeren.

Wincachegrind screenshot

The Author of this post is Wim Mostmans

Wim Mostmans heeft een eigen webontwikkeling bedrijf Sitebase waar hij voltijds voor werkt. Hij beheert ook nog enkele websites waaronder deze en een Computerforum. Blijf op de hoogte van waar Wim mee bezig is door hem te volgen op Twitter.

1 Responses »

  1. Dag Wim,

    Dt alert in de 2e paragraaf ;). Interessante info voor de rest.

Leave a Comment