2009-12-22 12 views
8

Ich versuche, mit NetBeans xdebug zu verwenden, um PHP zu debuggen. Ich beginne zu debuggen, und NetBeans wartet für immer auf eine Verbindung mit xdebug. Ich habe NetBeans 6.8 (neueste Version) mit dem neuesten MAMP-Paket auf meinem Mac installiert.Warum stellt xdebug keine Verbindung mit NetBeans her?

Meine php.ini wie folgt aussieht:

[xdebug] 
;zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 

Antwort

9

Wenn Ihr php.ini sieht wirklich wie das, was Sie auf dem Laufenden, müssen Sie un-Kommentar die zend_extension Linie (dh entfernen Sie die ‚;‘ an seinem beginnning), so dass Xdebug tatsächlich geladen ist.

Dann stellen Sie sicher Xdebug geladen wird, phpinfo() aus einer PHP-Datei Aufruf (nur um sicher zu sein).

Danach: Ich denke, es sollte einige Optionen geben, um den Debugger in Netbeans zu konfigurieren? Wenn ja, hört netbeans Port 9000? (Die Sie in der php.ini konfiguriert)

+0

Muss ich neu starten, um alle Server nach php.ini zu ändern? Ich habe das Kommentarzeichen entfernt und die NetBeans-Einstellungen überprüft. Port 9000 ist richtig. Aber NetBeans erwähnt auch eine Sitzungs-ID: "netbeans-xdebug". Muss ich das irgendwo in php.ini bereitstellen? – openfrog

+2

Sie müssen zumindest Apache neu starten (Änderungen an PHP.ini werden nur berücksichtigt, wenn Apache startet); Für die Sitzungs-ID gibt es eine Einstellung für xdebug.idekey (siehe http://xdebug.org/docs/remote); nicht sicher, dass es den Trick machen wird, aber es könnte - nie daran erinnern, gesetzt zu haben, obwohl; Ich nehme an, der Standardwert ist gut mit Eclipse PDT (ich verwende normalerweise Eclipse PDT, und nicht Netbeans) –

10

Schließlich hatte ich die idekey Wert wie folgt hinzuzufügen:

xdebug.idekey="netbeans-xdebug" 

jetzt funktioniert es :-)

+2

Hinweis: Ich wähle Pascal MARTIN Antwort als die akzeptierte, denn ohne xdebug durch Auskommentieren, würde mein Idkey-Ding sowieso nichts tun ;-) (außerdem fühle ich mich schlecht, meine eigene Antwort zu akzeptieren, also tue ich es einfach nicht) – openfrog

+0

Danke für deine Antwort trotzdem: das kann sich für andere als nützlich erweisen! –

+0

ich hoffe es wird :-) wahrscheinlich hattest du recht, dieser idkey ist standardmäßig gut für Eclipse. – openfrog

6

Die folgenden Einstellungen für mich gearbeitet mit 7.2 NetBeans auf Mountain Lion nach Apache Neustart:

zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so 
xdebug.remote_autostart=on 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.idekey="netbeans-xdebug" 
+1

diese funktionierten für mich! Vielen Dank! +1 – Anil

+0

Ich änderte auch das Projekt Webroot '(Rechtsklick auf Projekt> Eigenschaften)' zu 'app/webroot /', Nicht sicher, ob das half, aber es ging für mich los! ; D – Anil

+1

Ein gazillion danke !!!! – jx12345

1

Mac/MAMP Benutzer: Wenn Sie alle oben versucht haben und es immer noch nicht funktioniert, Ihren Mac neu zu starten. Neustarten der Server über MAMP ist nicht genug.

0

für mich auf diese Weise gearbeitet (Danke Jungs +1)/o/

<pre> 
zend_extension = "c:\xampp\php\ext\php_xdebug2.dll" 
xdebug.remote_autostart=on 
xdebug.remote_enable=on 
xdebug.remote_enable=1 
xdebug.remote_handler"dbgp" 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.idekey="netbeans-xdebug" 
</pre> 

Config:
NetBeans 7.3 - PHP 5.4 - xdebug 2.2 - xampp - win7 (32bit)

1

I nutzte folgendes mit XAMPP 1.8.2 und NetBeans 7.4 mit Erfolg.

[XDebug] 
zend_extension = "C:\xampp\php\ext\php_xdebug.dll" 
xdebug.idekey="netbeans-xdebug" 
xdebug.profiler_append = 0 
xdebug.profiler_enable = 1 
xdebug.profiler_enable_trigger = 0 
xdebug.profiler_output_dir = "C:\xampp\tmp" 
xdebug.profiler_output_name = "cachegrind.out.%t-%s" 
xdebug.remote_enable = on 
xdebug.remote_enable = 1 
xdebug.remote_handler = "dbgp" 
xdebug.remote_mode=req 
xdebug.remote_host = "localhost" 
xdebug.trace_output_dir = "C:\xampp\tmp" 
0

Ich habe gelesen, dass xdebug ich es nicht mit der PHP-Version arbeiten, welche Schiffen mit OS X. bekam von PHP ab Version 5.5 5.4 Aktualisierung zu arbeiten, ein handliches Paket von php-osx mit .liip.ch, einschließlich vorkompilierter xdebug-Erweiterung. Verwenden Sie diesen Befehl:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 

Beachten Sie, dass dies Ihre Standard-PHP-Installation intakt bleibt, aber deaktivieren Sie es in httpd.conf. Deine neue php.ini wird unter "/usr/local/php5/lib/php.ini" sein, mit der Konfigurationsdatei "xdebug" unter "/usr/local/php5/php.d/50-extension-xdebug.ini".

Setup: OS X Version 10.9.2

Quellen: http://coolestguidesontheplanet.com/upgrade-to-php-5-4-or-5-5-mac-osx-10-8-mountain-lion/

Verwandte Themen