If you find that you need to compile xdebug from source for whatever reason, have no fear! It’s actually quite simple to get it set up and running. I can get it set up on most servers in under 5 minutes. The directions below are for a local environment.
Make sure that you have git installed, since we are going to be grabbing xdebug from their git repository.
git clone git://github.com/xdebug/xdebug.git
Now just go into the directory you just downloaded.
Now run the following commands (NOTE: if you you get a message that phpize is not a valid command try installing php5-dev or php5-devel):
sudo make install
Now you will have a file in modules called xdebug.so. Copy this to anywhere that you feel makes sense. I usually copy it to /etc/php.d or similar.
sudo cp modules/xdebug.so /etc/php.d/xdebug.so
Now edit your php.ini file. If you’re not sure where to find it run locate php.ini. Add this to the very bottom.
zend_extension = "/etc/php.d/xdebug.so" xdebug.default_enable=1 xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.remote_autostart=0 xdebug.remote_log=/var/log/xdebug/xdebug.log
If you want pretty var_dump(), you can also add these:
xdebug.var_display_max_children=-1 xdebug.var_display_max_data=-1 xdebug.var_display_max_depth=-1
In order for the pretty var_dump to work, you also need to set html_errors to “On”. So look for that in your php.ini file and set it to On. If it’s not in there you an add this line:
html_errors = On
Restart your web server and php-fpm if you use it. Check that everything is working properly using this command:
php -i | grep xdebug