2009-12-22 8 views
8

Provo a utilizzare xdebug con NetBeans per eseguire il debug di PHP. Inizio il debug e NetBeans attende sempre una connessione con xdebug. Ho NetBeans 6.8 (ultima versione) con l'ultimo pacchetto MAMP installato sul mio mac.Perché xdebug non stabilisce la connessione con NetBeans?

mio php.ini assomiglia a questo:

[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 

risposta

9

Se il vostro php.ini Sembra veramente quello che hai postato, è necessario non-commento della linea zend_extension (cioè rimuovere il ';' al suo begninning), quindi Xdebug viene effettivamente caricato.

Quindi, assicurarsi che Xdebug sia caricato, chiamando phpinfo() da un file PHP (solo per essere sicuri).

Dopo ciò: suppongo che ci dovrebbero essere alcune opzioni per configurare il debugger in netbeans? In tal caso, i netbeans stanno ascoltando sulla porta 9000? (Quella configurata in php.ini)

+0

devo riavviare tutti i server dopo la modifica php.ini? È stato decommentato e controllato le impostazioni di NetBeans. Port 9000 ha ragione. Ma NetBeans menziona anche un ID di sessione: "netbeans-xdebug". Devo fornirlo da qualche parte in php.ini? – openfrog

+2

Dovrai almeno riavviare Apache (modifiche a php.ini vengono presi in considerazione solo all'avvio di Apache); per l'ID sessione, c'è un'impostazione xdebug.idekey (vedi http://xdebug.org/docs/remote); non è sicuro che farà il trucco, ma potrebbe - non ricordare mai di aver impostato, però; Suppongo che il valore di default sia corretto con Eclipse PDT (di solito uso eclipse PDT e non netbeans) –

10

Infine, ho dovuto aggiungere il valore idekey in questo modo:

xdebug.idekey="netbeans-xdebug" 

Ora funziona :-)

+2

Nota: scelgo la risposta di Pascal MARTIN come accettata, perché senza abilitare xdebug rimuovendola, la mia cosa dell'ideone non farebbe comunque niente ;-) (oltre a questo mi sento male ad accettare la mia risposta quindi non lo faccio) – openfrog

+0

Grazie comunque per la tua risposta: questo può rivelarsi utile per gli altri! –

+0

Spero che :-) probabilmente avevi ragione, questo idekey è di multa di default per Eclipse. – openfrog

6

le seguenti impostazioni hanno lavorato per me con NetBeans 7.2 su Mountain Lion dopo il riavvio di Apache:

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

hanno funzionato per me! Grazie! +1 – Anil

+0

Ho anche cambiato il progetto webroot '(tasto destro del mouse su progetto> proprietà)' a 'app/webroot /', Non sono sicuro che questo mi abbia aiutato, ma ce l'ho fatta! ; D – Anil

+1

Un gazillion grazie !!!! – jx12345

1

utenti Mac/MAMP: Se avete provato tutto quanto sopra e ancora non funziona, riavviare il Mac. Il riavvio dei server tramite MAMP non è sufficiente.

0

per me ha funzionato in questo modo (grazie ragazzi +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 - 2.2 - xdebug XAMPP - win7 (32bit)

1

I usato con successo XAMPP 1.8.2 e NetBeans 7.4.

[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

Ho letto che xdebug non funziona con la versione di PHP quali navi con OS X. ho preso a lavorare aggiornando php dalla versione 5.4 alla 5.5, utilizzando un pratico pacchetto da php-osx .liip.ch, inclusa l'estensione xdebug precompilata. Utilizzare questo comando:

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

Si noti che questo lascerà la vostra installazione di PHP predefinita intatta, ma disattivarlo in httpd.conf. Il tuo nuovo php.ini sarà in "/usr/local/php5/lib/php.ini", con il file di configurazione di xdebug in "/usr/local/php5/php.d/50-extension-xdebug.ini".

Setup: OS X versione 10.9.2

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