Xdebug, wenn der Remote-Server keine Verbindung herstellt - Netbeans

8

Ich versuche XDebug im folgenden Szenario zu verwenden

  • mein Computer Windows 7, Netbeans 6.9
  • Physischer Host am Computer im selben Netzwerk (Windows 7) mit virtueller Box
  • Virtual CentOS 6.2, mit Apache-Server 2.2.15 und PHP 5.3.3
  • Der PHP-Code meiner Website befindet sich in einem freigegebenen Ordner auf CentOS, in / var / www / html / mysite, und ist separat und kann über den Server ip 192.168.1.240 darauf zugreifen.
  • Bearbeitet C: \ 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
  • zugänglich

Ich habe auf meinem Computer ein Netbeans-Projekt erstellt, das auf \HostIP\html\mysite verweist. Im Projekt Konfiguration ausführen habe ich Folgendes:

  • Ausführen als: Remote-Website
  • Projekt-URL: http://mysite/
  • Indexdatei: index.php (existiert im Projekt)

In der erweiterten Ausführungskonfiguration:

  • Ich habe "Default"
  • aktiviert
  • Ich habe die Proxy-Einstellungen nicht berührt

Ich habe folgendes in der php.ini auf meiner CentOS VM

%Vor%

Hinweis: Ich habe versucht, die Konfigurationen mit extension=xdebug.so und probiert Kommentar xdebug.remote_connect_back=1 mit Kommentar xdebug.remote_host=192.168.1.31 , die meine Computer-IP-Adresse ist.

Also im Grunde habe ich alle Konfigurationen wie dieses Bild

funktioniert aber immer noch nicht! Nach dem Start wird der Debugger diese URL öffnen

%Vor%

und nichts passiert nur Netbeans Listing wartet auf Xdebug Verbindung

    
Farok Ojil 17.12.2012, 03:44
quelle

3 Antworten

1

Wenn ich auf einem Remote-Host debuggen möchte, muss ich normalerweise meinen lokalen 9000-Port über einen SSH-Tunnel an den lokalen 9000 des Remote-Servers weiterleiten:

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

Verwenden Sie bitvise ssh client oder putty in Windows, um den gleichen Effekt zu erhalten.

Auch in den Projekteinstellungen - & gt; Konfiguration ausführen - & gt; Erweiterte Schaltfläche

Stellen Sie sicher, dass Sie die fernen und lokalen vollständigen Pfade der Projektdateien angeben, damit der Debugger sie anhängen kann (machen Sie sich keine Sorgen über den Port in diesem Bildschirm, den Sie als Standard verlassen).

    
Kevin Andrews 10.04.2014 21:27
quelle
1

Ich weiß, das ist ein alter Post, aber es schien mir der, dem ich heute Abend am meisten begegnet bin.

Mit dem NAT-Netzwerk können Sie den geringsten Konflikt erzielen. 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 funktionierendes XDebug-Setup in der php.ini mit 2.2.7 mit Netbeans 8.0.2 :

%Vor%

Schließlich möchte ich darauf hinweisen, dass Netbeans auf die Einrichtung der Remote-Adresse in der Remote-Dateikonfiguration wartet. 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 nie geändert . Erst nach dem Schließen von Netbeans fällt die veraltete Verbindung ab. Sobald NetBeans erneut gestartet wird, wird die neue Remote-Server-URL für die Remote-Xdebug-Verbindung verwendet.

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

Wenn es immer noch nicht funktioniert, verwenden Sie den bereitgestellten debugclient auf der VM, besuchen Sie die Projektseite mit "? XDEBUG_SESSION_START = netbeans-xdebug" an die index.php-URL angehängt und achten Sie auf die xdebug-Informationen zu komm rein. Dann weißt du zumindest, dass es lokal funktioniert.

    
DBrown 05.02.2015 08:51
quelle
0

Versuchen Sie, einen beliebigen Haltepunkt für Ihr ausgeführtes Skript einzurichten. 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 php.ini in den Netbeans-Einstellungen mit ideKey übereinstimmt.

    
Alexey Nakonechny 11.07.2013 09:01
quelle