24
votes

I've read quite a lot answers but couldn't figure out why xdebug doesn't work.

php.ini:

[xdebug]
zend_extension="/usr/lib/php5/20090626/xdebug.so"

php -v:

PHP 5.5.6-1+debphp.org~precise+2 (cli) (built: Nov 21 2013 14:31:41) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies

/usr/lib/php5/20090626/xdebug.so does exist. No zend optimizer in php.ini.

Also if I try to install xdebug:

pecl/xdebug is already installed and is the same as the released version 2.2.3
install failed

Thanks in advance.

6
Maybe a good time to validate an answer here?Jimmy Kane

6 Answers

18
votes

Ok so I've stumbled upon this myself.

First of all, the 20090626 lib is compiled for php 5.3. So you can't really use that. Here are the steps I've performed in order to be able to use xdebug with php 5.5:

  1. Download the source via xdebug download page.
  2. Follow this guide for compiling your source into lib.
  3. So now the extension is in correct source folder: 20121212, and you need to enable xdebug in your config.
  4. I'm on ubuntu 12.04, so next steps might not work with your system:

    • create 20-xdebug.ini config and copy it to both /etc/php5/apache/conf.d and /etc/php5/cli/conf.d folders (if you plan on using xdebug in your cli of course). Insert next line of code there: zend_extension=xdebug.so
    • enable xdebug in both apache2 and cli php.ini configuration files:
      xdebug.remote_enable = 1
      xdebug.renite_enable = 1
      xdebug.max_nesting_level = 1000
      xdebug.profiler_enable_trigger = 1
      xdebug.profiler_output_dir = '/var/log'
      
      See more about xdebug settings: http://xdebug.org/docs/all_settings

php -v:

PHP 5.5.7-1+sury.org~precise+1 (cli) (built: Dec 12 2013 21:37:40) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
12
votes

Since this seems to bother more and more people trying to install xdebug via pecl here are the options:

  • Windows: Get the binary
  • Ubuntu (>12.04): sudo apt-get install php5-xdebug
  • Linux (other): via package manager or compile the latest source

Using PECL to install X-Debug for PHP5.5 as @Slayer Birden also answered will not work up to now and I don't think it will change in the near future.

7
votes

I had a similar problem on Ubuntu 14.10. I forgot to enable xdebug: sudo php5enmod xdebug after installing xdebug from repository: sudo apt-get install php5-xdebug Also do not forget to restart web server sudo service apache2 restart

My xdebug.ini looks like this: zend_extension=xdebug.so xdebug.remote_enable = 1

1
votes

for xampp server first download xdebug and insert into php extention and edit php.ini file like this:

    [XDebug]
; Only Zend OR (!) XDebug
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at     C:\xampp/php/ext/php_xdebug-2.3.1-5.5-vc11.dll, without a version number.
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:\xampp\tmp"
[PHP_XDEBUG-2.3.1-5.5-VC11]
zend_extension="C:\xampp\php\ext\php_xdebug-2.3.1-5.5-vc11.dll"
1
votes

I ran into this problem today. Found out that the latest version on download page might actually not work. Download the one under Xdebug 2.3.0, select "PHP 5.5 VC11 TS (32 bit) (MD5: ef4a8994cef26c47ac891d6872e391b3)". It worked for me. I tried ver 2.3.3 and 2.3.2 before which did not work.

0
votes

To install a very specific version of Xdebug for a specific version of PHP you can do it by compilation from sources. E.g. if you would like to compile xdebug-2.5.5 for PHP 5.6 run following commands in console (Ubuntu):

sudo apt install php5.6-dev
cd ~/Downloads
wget "https://xdebug.org/files/xdebug-2.5.5.tgz" -O "xdebug-2.5.5.tgz"
tar -xzf xdebug-2.5.5.tgz
cd xdebug-2.5.5/
/usr/bin/phpize5.6
./configure --enable-xdebug --with-php-config=/usr/bin/php-config5.6
make
sudo make install

All available versions of Xdebug can be found here. Xdebug compilation guide is here.