Home » Php » php – Xdebug stopped working, where do I look for errors?

php – Xdebug stopped working, where do I look for errors?

Posted by: admin April 23, 2020 Leave a comment

Questions:

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.

How to&Answers:

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"

Answer:

On your server, try this command:

$ netstat -anp | grep CLOSE_WAIT

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

Answer:

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

Answer:

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.

Answer:

check port is not occupied, check netbeans is configured to listen to that port(i see you have 9001, 9000 is default usually)also when i debug with eclipse i have to “terminate and relaunch” the debug session every now and then since it stops working, never under stood why, i suspect some sort of expired debug session

Answer:

Check are you putting breakpoints to the right file. Find first file where script enters (front controller). On symfony there can be more than one for example.