2013-03-11 18 views
20

Non riesco a far funzionare XDebug con PhpStorm e Vagrant su un computer Windows 7. Ho già seguito ogni tutorial su come farlo funzionare ma senza fortuna.Impossibile eseguire il debug con PhpStorm + Vagrant + XDebug

Quindi quello che ho provato è:

  • PhpStorm ascolta sempre eseguire il debug di connessioni
  • file di xdebug.ini con il seguente:

zend_extension = "..../xdebug.so" 
xdebug.remote_enable= 1 
xdebug.remote_handler=dbgp 
xdebug.remote_host= 33.33.33.10 
xdebug.remote_port= 9000 
xdebug.remote_connect_back= 1 
xdebug.remote_autostart= 1 
xdebug.remote_log = "...." 
  • Configura PhpStorm per la connessione a localhost:8080 e anche 33.33.33.10, entrambi senza fortuna.
  • Il file di registro emette sempre:

I: Checking remote connect back address. 
W: Remote address not found, connecting to configured address/port: 33.33.33.10:9000. :-| 
E: Could not connect to client. :-(
  • Il firewall (ESET Smart Security) è sempre acceso-off quando si tenta di eseguire il debug
  • mappature impostare il percorso, didn' t work

Solo non so cosa fare, ma ho davvero bisogno di essere in grado eseguire il debug.
Grazie per il vostro aiuto!

+2

Quale macchina 33.33.33.10 appartiene a - il tuo vero (dove tun PhpStorm) o virtuale (Vagrant)? Deve essere l'IP della macchina con PhpStorm (come visto dalla macchina virtuale) - controlla cosa '$ _SERVER ['REMOTE_ADDR']' ha. Buon articolo da leggere: http: //confluence.jetbrains.com/display/PhpStorm/Zero-configuration + Web + Application + Debugging + con + Xdebug + e PhpStorm – LazyOne

+0

33.33.33.10 appartiene a Vagrant, ma su Windows tutti dicono che deve essere la VM e non la macchina con PhpStorm –

+0

It deve essere l'IP di un computer in cui è in esecuzione il client di debug (PhpStorm nel nostro caso) - controlla cosa dice il manuale xdebug su xdebug.remote_host. ** A MENO ** stai usando il tuner SSH e/o il proxy xdebug (che è un po 'strano (principalmente proxy) dato che si trova sullo stesso computer e non da qualche parte su internet dietro firewall e router) - in questo caso ascolta cosa "tutti dice "e chiedi loro come configurarlo - non ho lavorato con questo. – LazyOne

risposta

38

Il problema era molto stupido - Ho inoltrato la porta 9000 nel Vagrantfile, e non l'ho fatto t hanno a che fare in modo ...

Ora, in realtà vedo che le uniche linee necessarie a xdebug.ini sono:

zend_extension = ... 
xdebug.remote_enable = on 
xdebug.remote_connect_back = on 

L'installazione è abbastanza semplice, se non fai cose stupide. ..

+13

Per quelli che si chiedono perché ha iniziato a lavorare per Nadav quando ha smesso di inoltrare la porta 9000, è perché Xdebug funziona effettivamente al contrario. Invece che il tuo computer si connette alla tua casella di Vagrant sulla porta 9000, Xdebug funziona effettivamente al contrario: la tua casella Vagrant si connetterà al tuo client Xdebug sul tuo computer (host). James Walker ha una bella spiegazione di questo [qui] (http://walkah.net/blog/debugging-php-with-vagrant/). – Jonathan

+2

Anche il remote_handler non è necessario - dbgp è impostato di default. – Yurik

+1

'debug.remote_connect_back = on' è esattamente ciò di cui avevo bisogno: host Mac OS X, in esecuzione con Ubuntu 14.04 acceso. – Jimbo

0

Assicurati di connetterti all'URL giusto da PHPStorm. La mia scatola vagabonda ha l'IP 192.168.50.2 per esempio, quindi devo impostare l'url del mio progetto => 192.168.50.2

+0

Grazie 30equals, sono riuscito a risolvere il problema ora. L'unico problema era che ho inoltrato la porta 9000 nel Vagrantfile che non dovevo ... Per quanto riguarda la tua risposta, l'ho già provato ma grazie comunque! –

0

Ho dovuto impostare

xdebug.remote_connect_back = '0' 
xdebug.remote_host= '10.0.2.2' 

così tutta la mia configurazione è simile al seguente:

xdebug.default_enable: '1' 
xdebug.remote_autostart: '1' 
xdebug.remote_connect_back: '0' 
xdebug.remote_enable: '1' 
xdebug.remote_handler: dbgp 
xdebug.remote_host: '10.0.2.2' 
xdebug.max_nesting_level: '400' 

Host: Linux

VM: Vagrant con PuPHPet utilizzando VirtualBox

niente di speciale da configurare in PhpStorm

trovato qui: http://jeromejaglale.com/doc/php/xdebug_vagrant_puphpet_phpstorm

Problemi correlati