2012-12-17 12 views
8

Ich versuche XDebug im folgende SzenarioXdebug für Remote-Server nicht verbinden - Netbeans

  • mein Computer Windows 7, Netbeans 6.9
  • physischer Host auf Computer im gleichen Netzwerk (Windows 7) zu verwenden, mit virtuellen Box
  • virtuelle CentOS 6.2 mit Apache Server 2.2.15 und PHP 5.3.3
  • der PHP-Code von meiner Website auf einem freigegebenen Ordner auf CentOS ist, in/var/www/html/mysite und verfügen über separate und kann auf den Server zugreifen ip 192.168.1.240
  • C
  • Edited: \ Windows \ System32 \ drivers \ etc \ hosts 192.168.1.240 mysite
  • der PHP-Code ist von meinem Windows-Host auf \\HostIP\html\mysite, mit R/W-Berechtigungen

ich ein Netbeans-Projekt erstellt auf meinem Computer zeigt auf \\HostIP\html\mysite. Im Projekt Run Konfiguration habe ich folgendes:

  • Run as: Remote Web Site
  • Projekt-URL: http://mysite/
  • Index-Datei: index.php (nicht im Projekt vorhanden)

im erweiterten Run-Konfiguration:

  • ich habe "Default"
  • Ich habe versucht, die Konfigurationen mit extension=xdebug.so und versucht zu kommentieren xdebug.remote_connect_back=1 mit uncomment: 0
  • Ich habe nicht die Proxy-Einstellungen

Ich habe folgend in der php.ini auf meinem CentOS VM

;extension=xdebug.so 
zend_extension="/usr/lib64/php/modules/xdebug.so" 
xdebug.remote_enable=on 
xdebug.remote_log="/var/log/xdebug.log" 
;xdebug.remote_host=192.168.1.31 
xdebug.remote_connect_back=1 
xdebug.remote_handler=dbgp 
xdebug.remote_port=9000 

Note berühren xdebug.remote_host=192.168.1.31 Das ist meine Computer-IP-Adresse.

so dass im Grunde ich habe alle Konfigurationen wie dieses Bild enter image description here

aber immer noch nicht funktioniert! laufen, nachdem der Debugger wird diese URL öffnet

http://mysite/index.php?XDEBUG_SESSION_START=netbeans-xdebug 

und es ist nichts passiert wird nur NetBeans Eintrag für Xdebug Verbindung wartet

+0

Achten Sie darauf, Ihren Gastgeber mit NetBeans auf Port 9000. Von CentOs tun erreichen: telnet 192.168.1.31 9000 – ualinker

+0

ok habe ich versucht, dass und „Verbunden mit 192.168.1.31.“ so dass es funktioniert und der Server kann NetBeans –

+0

Ok erreichen, dass alles überprüfen ist gut mit PHP Config hier: http://xdebug.org/wizard.php – ualinker

Antwort

0

Versuchen Sie, jeden Haltepunkt zu Ihrem ausgeführt Skript einrichten. Die Debugsitzung wird möglicherweise nicht angezeigt, während ide das Flag "Brechen in der ersten Zeile" nicht berücksichtigt.

Überprüfen Sie auch, ob die Eigenschaft xdebug.idekey in der php.ini gleich dem ideKey in den Netbeans-Einstellungen ist.

1

Wenn ich will, auf einer Remote-Host debuggen, muß ich normalerweise meine lokal 9000-Port an den Remote-Server des lokalen 9000 über einen SSH-Tunnel weiter:

ssh -R 9000:localhost:9000 [email protected]

Verwenden Bitvise SSH-Client oder Kitt auf Fenster um den gleichen Effekt zu erzielen.

Auch in den Projekteinstellungen -> Ausführen Konfiguration -> Schaltfläche Erweitert

stellen Sie sicher, die Remote- und lokalen vollständigen Pfade die die Projektdateien spezifizieren, damit der Debugger anhängen (nicht über den Hafen in diese Sorge Bildschirm als Standard verlassen).

1

Ich weiß, das ist ein alter Post, aber es schien wie der, den ich heute Abend am meisten überlief.

Die NAT-Netzwerk Setup ist der Weg, um die geringste Menge an Konflikt zu bekommen. Richten Sie in der Windows 7-Firewall eine benutzerdefinierte Eingangsregel ein, um eingehenden Datenverkehr für Port 9000 für das gesamte/24-Netzwerk zuzulassen, auf dem sich die VM befindet (192.168.202/24).

Mein Arbeits XDebug Setup in der php.ini, mit 2.2.7 mit Netbeans 8.0.2:

zend_extension=xdebug.so 

xdebug.remote_enable=1 
xdebug.remote_connect_back=1 
xdebug.remote_port=9000 
xdebug.idekey="netbeans-xdebug" 
xdebug.show_local_vars=0 
;xdebug.extended_info=1 
xdebug.output_buffering=off 
xdebug.remote_log=/var/log/xdebug.log 

Schließlich möchte ich darauf hinweisen, dass Netbeans Streams für die Remote-Adresse Setup in der Remote-Datei Config. Ein kurzer netstat -an zeigte, dass Netbeans auf Port 9000 mit einem CLOSE_WAIT-Status auf einer alten Adresse von meinem anfänglichen überbrückten Netzwerk-Setup lauschte. Auch nach dem Ändern der Projekt-URL und der Remote-Verbindungs-IP-Adresse und Schließen mehrerer xdebug-Verbindungen wurde diese Einstellung nie geändert. Erst nach dem Schließen von Netbeans fällt die veraltete Verbindung ab. Sobald NetBeans erneut gestartet wird, wird die neue Remoteserver-URL für die Remote-Xdebug-Verbindung verwendet.

Die Erwähnung von Netbeans, die einen veralteten Zustand halten, wurde nie diskutiert, und die Fähigkeit, die xdebug-Verbindung von der IDE aus zu stoppen, gibt ein falsches Gefühl des Zurücksetzens des Sockets.

Wenn es immer noch nicht funktioniert, verwenden Sie den mitgelieferten debugclient auf der VM finden Sie auf der Projektseite mit „? XDEBUG_SESSION_START = Netbeans-xdebug“ auf die index.php URL angehängt, und achten Sie auf die xdebug Informationen zu kommen in. Zumindest dann weißt du, dass es lokal funktioniert.

Verwandte Themen