Preamble
After a few hours, I was unable to connect NetBeans to xdebug. A few months ago, after switching from the old version of MAMP to MAMP PRO, debugging worked flawlessly. A week ago, he began to become scaly. It would seem that he connects, but does not stop at control points. Restarting NetBeans (v7.0.1) and apache sometimes made it work for a short time.
I really needed it fixed, so I installed the latest version of MAMP PRO (2.1.2). Now I get the message "Waiting for connection" forever.
The testing that I performed
While the message "Waiting for connection" is present with a moving strip, I look to see if it is audible. It...
In the NetBeans php configuration, I have the interpreter installed: / Applications / MAMP / bin / php / php 5.4.10 / bin / php
Doing the following:
tells me that xdebug is running, like phpinfo ()
I (many times) have confirmed that I have the same port number everywhere. I tried port 9000 and 9001.
Running the tail on xdebug.log and then starting the session from the browser without starting the debugging session in NetBeans gives:
I: Connecting to configured address/port: localhost:9001. E: Could not connect to client. :-(
Waiting for a connection message and starting a session from the browser, I get this in the log:
: Connecting to configured address/port: localhost:9001. I: Connected to client. :-) -> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///Users/tim/MAMPSites/facts.tvd.us/htdocs/sendfile/tim.php" language="PHP" protocol_version="1.0" appid="7279" idekey="netbeans-xdebug"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init> -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
My php.ini file has the following:
[xdebug] zend_extension="/Applications/MAMP/bin/php/php5.3.20/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so" xdebug.remote_enable=on xdebug.remote_log="/var/log/xdebug.log" xdebug.remote_host=localhost xdebug.remote_handler=dbgp xdebug.remote_port=9001 xdebug.idekey="netbeans-xdebug"
Update
I just noticed that the lsof command above shows that NetBeans is listening on ipV6. Preventing the use of java (NetBeans) to use ipV4 does not help.
launchctl setenv JAVA_TOOL_OPTIONS -Djava.net.preferIPv4Stack=true
I found a message that suggested a test to confirm that xdebug was working correctly. Create a php file:
<?php $address = '127.0.0.1'; $port = 9000; $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); ?>
Run it from the command line and load any page in your browser at the end of the URL:
?XDEBUG_SESSION_START=nb
If it displays something like "connection established: Resource ID # 5", xdebug is working correctly. In doing so, I reinstalled Java and NetBeans. I told NetBeans NOT to import my existing settings ... There is still no connection.
Update2
I installed phpStorm IDE for Mac. I have learned enough about this to make the debugger work with the existing MAMP and xdebug settings. I think this confirms the problem with NetBeans.
At the moment, getting this work seems impossible .:(