2009-12-22 6 views
8

J'essaie d'utiliser xdebug avec NetBeans pour déboguer PHP. Je commence le débogage, et NetBeans attend toujours une connexion avec xdebug. J'ai NetBeans 6.8 (dernière version) avec le dernier paquet MAMP installé sur mon mac.Pourquoi xdebug n'établit pas de connexion avec NetBeans?

Mon php.ini ressemble à ceci:

[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 

Répondre

9

Si votre php.ini ressemble vraiment ce que vous avez publié, vous devez Décommentez la ligne zend_extension(c.-à enlever le « ; » à sa begninning), donc Xdebug est réellement chargé.

Ensuite, assurez-vous Xdebug est chargé, appelant phpinfo() à partir d'un fichier PHP (juste pour être sûr). Après cela: Je suppose qu'il devrait y avoir quelques options pour configurer le débogueur dans NetBeans? Si oui, est-ce que netbeans écoute sur le port 9000? (Celui que vous avez configuré dans le fichier php.ini)

+0

Dois-je redémarrer tous les serveurs après avoir changé php.ini? Avez-décommenter cela, et vérifié les paramètres NetBeans. Le port 9000 est juste. Mais NetBeans mentionne également un ID de session: "netbeans-xdebug". Dois-je fournir quelque part dans php.ini? – openfrog

+2

Vous devrez au moins redémarrer Apache (modifications de php.ini ne sont pris en compte qu'au démarrage d'Apache); pour l'ID de session, il existe un paramètre xdebug.idekey (voir http://xdebug.org/docs/remote); Je ne suis pas sûr que ça va faire l'affaire, mais ça pourrait - ne jamais se souvenir d'avoir mis, cependant; Je suppose que la valeur par défaut est bonne avec Eclipse PDT (j'utilise habituellement eclipse PDT, et pas netbeans) –

10

Enfin, je devais ajouter la valeur idekey comme ceci:

xdebug.idekey="netbeans-xdebug" 

maintenant il fonctionne :-)

+2

Note: Je choisis la réponse de Pascal MARTIN comme acceptée, car sans activer xdebug en la décommentant, ma chose idekey ne ferait rien de toute façon ;-) (à part que je me sens mal accepter ma propre réponse donc je ne le fais pas) – openfrog

+0

Merci pour votre réponse de toute façon: cela peut s'avérer utile aux autres! –

+0

J'espère que ça va :-) probablement vous aviez raison, cette idekey est par défaut très bien pour Eclipse. – openfrog

6

Les paramètres suivants ont fonctionné pour moi avec NetBeans 7.2 sur Mountain Lion après avoir redémarré 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

ça a marché pour moi! Merci! +1 – Anil

+0

J'ai aussi changé le webroot du projet '(clic droit sur le projet> propriétés)' sur 'app/webroot /', je ne sais pas si cela m'a aidé, mais je l'ai fait pour moi! ; D – Anil

+1

Un gazillion merci !!!! – jx12345

1

utilisateurs Mac/MAMP: Si vous avez essayé tous ce qui précède et il ne fonctionne toujours pas, redémarrez votre Mac. Redémarrer les serveurs via MAMP ne suffit pas.

0

pour moi a travaillé de cette façon (merci les gars +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 (32bits)

1

I utilisé avec succès avec XAMPP 1.8.2 et 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

J'ai lu que xdebug ne fonctionne pas avec la version de PHP ce qui est livré avec OS X. Je l'ai à travailler en mettant à jour php de la version 5.4 à 5.5, en utilisant un package pratique de php-osx .liip.ch, y compris l'extension xdebug précompilée. Utilisez cette commande:

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

Notez que cela laissera votre installation php par défaut intacte, mais la désactiver dans httpd.conf. Votre nouveau php.ini sera à "/usr/local/php5/lib/php.ini", avec le fichier de configuration xdebug à "/usr/local/php5/php.d/50-extension-xdebug.ini".

Configuration: OS X version 10.9.2

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

Questions connexes