Configuring Xdebug for PHP development/Windows
|This article or section is in the process of an expansion or major restructuring. You are welcome to assist in its construction by editing it as well. If this article or section
has not been edited in several days, please remove this template.|
Configuring Xdebug is split 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.
To get the extension for a Windows-System, you have to download the DLL-file from http://xdebug.org/download.php 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.
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 Mac OS X for XAMPP zend_extension="/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/xdebug.so"
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: http://xdebug.org/docs/remote
Here is an example of the configuration I use and some comments around that:
; location of my configuration-file zend_extension=/usr/lib/php5/20090626/xdebug.so ; Enables colors if you use xdebug on the console xdebug.cli_color=1 ; Enable profiler by a trigger (f.e. cookie or GET-param) xdebug.profiler_enable_trigger=1 xdebug.profiler_output_dir=/var/www/log/ ; Debugger will try to connect back to the machine sending the HTTP-Request xdebug.remote_connect_back=1 ; Enables the debugger xdebug.remote_enable=1
Clientside (configure your IDE)
If your IDE is not listed on http://xdebug.org/docs/remote#clients, you'll probably find a tutorial in the manual of your IDE. Feel free to add helpful tutorials here.