Warten auf Verbindung (netbeans-xdebug) MAMP OS X

Präambel

Nach vielen Stunden konnte ich NetBeans nicht dazu bringen, eine Verbindung zu xdebug herzustellen. Vor einigen Monaten, nach dem Upgrade von einer alten Version von MAMP auf MAMP PRO, funktionierte das Debuggen einwandfrei. Vor einer Woche fing es an, Flocken zu bekommen. Es scheint eine Verbindung herzustellen, hört aber nicht an den Haltepunkten auf. Beim Neustart von NetBeans (v7.0.1) und Apache funktionierte es manchmal für kurze Zeit.

Ich musste es wirklich reparieren, also installierte ich die neueste Version von MAMP PRO (2.1.2). Jetzt erhalte ich die Nachricht Warten auf Verbindung für immer.

Tests habe ich gemacht

Während die Meldung "Warten auf Verbindung" mit der beweglichen Leiste angezeigt wird, überprüfe ich, ob sie zuhört. Es ist...

# lsof -i -n -P |grep 9001
java  6496  tim  230u  IPv6 0xffffff80239d8190      0t0    TCP *:9001 (LISTEN)

In der NetBeans-PHP-Konfiguration habe ich den Interpreter auf /Applications/MAMP/bin/php/php5.4.10/bin/php eingestellt

Folgendes ausführen:

# /Applications/MAMP/bin/php/php5.4.10/bin/php -i | grep xdebug

sagt mir, dass xdebug genauso läuft wie phpinfo ()

Ich habe (oft) bestätigt, dass ich die Portnummer überall gleich habe. Ich habe Port 9000 und 9001 ausprobiert.

Einen Schwanz aufmachenxdebug.log Das Starten einer Sitzung über den Browser, ohne eine Debugsitzung in NetBeans zu starten, führt zu folgenden Ergebnissen:

I: Connecting to configured address/port: localhost:9001.
E: Could not connect to client. :-(

Mit der wartenden Verbindungsnachrichtund Wenn ich eine Sitzung über den Browser initiiere, wird Folgendes im Protokoll angezeigt:

: 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>

Meine php.ini-Datei hat Folgendes:

[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"

Aktualisieren

Ich habe gerade bemerkt, dass der Befehl lsof oben zeigt, wie NetBeans auf ipV6 lauscht. Es hilft nicht, Java (NetBeans) zur Verwendung von ipV4 zu zwingen.

launchctl setenv JAVA_TOOL_OPTIONS -Djava.net.preferIPv4Stack=true

Ich habe einen Beitrag gefunden, der einen Test vorschlug, um zu bestätigen, dass xdebug korrekt funktioniert. Erstellen Sie eine PHP-Datei:

<?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);
?>

Führen Sie es über die Befehlszeile aus und laden Sie eine beliebige Seite in Ihren Browser mit den folgenden Angaben am Ende der URL:

?XDEBUG_SESSION_START=nb

Wenn es so etwas wie "Verbindung hergestellt: Resource ID # 5" ausgibt, funktioniert xdebug korrekt. Damit habe ich Java und NetBeans neu installiert. Ich habe NetBeans angewiesen, meine vorhandenen Einstellungen NICHT zu importieren ... Immer noch keine Verbindung.

Update2

Ich habe die phpStorm IDE für Mac installiert. Ich habe genug darüber gelernt, um den Debugger mit meinem vorhandenen MAMP- und xdebug-Setup zum Laufen zu bringen. Ich denke, dies bestätigt das Problem mit NetBeans.

An diesem Punkt scheint es unmöglich zu sein, dies zum Laufen zu bringen. :(

Antworten auf die Frage(4)

Ihre Antwort auf die Frage