Configuring Xdebug for PHP development/Windows

From Joomla! Documentation

< Configuring Xdebug for PHP development
Revision as of 05:52, 28 June 2012 by SimonSimCity (Talk | contribs)

Configuring Xdebug is spitted into two parts:

Serverside (extension in PHP)


First check if this extension is already installed. Create a new file with the content <?php phpinfo(); ?>, save it in your webfolder (f.e. C:\xampp\htdocs\phpinfo.php) and call it using your browser (f.e. http://localhost/phpinfo.php). The command PHPINFO will show you all information about installed plugins, their configuration and so on. If you see a headline called Xdebug, it is already downloaded and enabled.

On a linux-system it depends on your distribution. Most of the distribution have packages ready that you can just download and install right-away. An example is Debian (or Ubunut). The package there is called php5-xdebug. This command will download and enable the plugin.

To get the extension for a Windows-System, you have to download the DLL-file from that fit's to your PHP version, move it into the ext folder of your PHP-installation. If the file php_xdebug.dll exists, leave it there. It's most likely the right version, just that it's not enabled. This was f.e. the case for the last XAMPP package I used.

Enable Xdebug

On windows-systems you most likely just have one php.ini file for all configuration whereas on several Linux distributions you have a directory called conf.d in addition. If you have installed Xdebug on a Linux based system, you'll probably find a file xdebug.ini in there. Use this file instead if you have it (just not to mess-up the main config-file).

You enable the plugin by adding (or uncommenting) the following line to your config-file:

; Example for XAMPP
zend_extension = "\xampp\php\ext\php_xdebug.dll"
; Example on Linux Debian

Please make sure you use zend_extension instead of extension which (not as extension) requires the full path to the extension-file.


Please also read this introduction for configuration-details:

Here is an example of the configuration I use and some comments around that:

; location of my configuration-file
; Enables colors if you use xdebug on the console
; Enable profiler by a trigger (f.e. cookie or GET-param)
; Debugger will try to connect back to the machine sending the HTTP-Request
; Enables the debugger

Clientside (configure your IDE)

If your IDE is not listed on, you'll probably find a tutorial in the manual of your IDE. Feel free to add helpful tutorials here.