Xdebug stopped working, where do I look for errors?

37,810

Solution 1

At the end, left with only two solutions - to reinstall the Ubuntu OS or to install a new VM especially for xdebug, I'm going for the second one. Funny thing is, everything was working according to the "RTM" (f=freaking). One thing that I couldn't figure out is how to read the logs for XDebug in order to understand where the real problem is.

UPDATE

After some struggling, I deleted every single line related to xdebug from every php.ini that I had. And moved these lines to /etc/php5/conf.d/xdebug.ini. Restarted Apache, and then PHPStorm, and it works. P.S. in the middle, I tried to install xdebug with pecl, from github, and the standard Ubuntu version. I think the one that I compiled is currently working. And.. the log gets updated as well.

;xdebug configuration
zend_extension = /usr/lib/php5/20090626/xdebug.so
xdebug.remote_host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log="/tmp/xdebug.log"

Solution 2

On your server, try this command:

$ netstat -anp | grep CLOSE_WAIT

Any :9000 entries will give you XDebug troubles; consider kill -9 <pid>.

Solution 3

I had this problem too on Ubuntu after updating php. For me, turning on html errors in php.ini got xdebug with Netbeans to work again ...

sudo vi /etc/php5/apache2/php.ini
display_errors = On
html_errors = On

And restart apache:

sudo /etc/init.d/apache2 restart

http://ubuntuforums.org/showpost.php?p=9592364&postcount=14

Solution 4

I checked my

netstat -anp

output and found out that there were number of open sockets (in XDebug port range) by master process on my remote machine [running xDebug].

Killing the 'master' process solved the problem for me.

Seemed like a port overrun situation for me. Thought the information might be useful to some.

Share:
37,810
valk
Author by

valk

Tanzan and Ekido were once traveling together down a muddy road. A heavy rain was falling. As they came around a bend, they met a lovely girl in a silk kimono and sash, unable to cross at an intersection. "Come on, girl," said Tanzan at once. Lifting her in his arms, he carried her over the mud. Ekido did not speak until that night when they reached a lodging temple. Then he could no longer restrain himself. "We monks don't go near females," he told Tanzan, "especially not young and lovely ones. It is dangerous. Why did you do that?" "I left the girl there," said Tanzan. "Are you still carrying her?"

Updated on February 07, 2021

Comments

  • valk
    valk over 3 years

    I installed Xdebug and all was fine, until suddenly it stopped working. phpinfo() gives a nice XDebug output with all variables.

    php -m | grep deb
    

    also gives twice XDebug (for Zend and PHP), so again looks just fine. My php.ini has these lines:

    zend_extension=/usr/lib/php5/20090626/xdebug.so
    ;extension=xdebug.so
    xdebug.remote_host=localhost
    xdebug.remote_enable=on
    xdebug.remote_port=9001
    xdebug.remote_handler=dbgp
    xdebug.remote_connect_back=1
    

    And yet, when running this code with should check XDebug (from Netbeans docs) it's just stuck. So No IDE is working with XDebug.

    <?php
    $address = '127.0.0.1';
    $port = 9001;
    $sock = socket_create(AF_INET, SOCK_STREAM, 0);
    socket_bind($sock, $address, $port) or die('Unable to bind');
    socket_listen($sock);
    $client = socket_accept($sock);
    echo "connection established: $client";
    socket_close($client);
    socket_close($sock);
    

    Also, according to XDebug installation, I went twice throught the steps. What is wrong with my config? Thanks.