Télécharger Xdebug

Télécharger la dll de xdebug ici : http://www.xdebug.org/download.php directement dans votre dossier modules php de votre serveur wamp (dans mon cas ce sera dans C:\xampp\php\xdebug).

 

Bien que l'on pourrait mettre la dll directement dans le dossier de php, j'ai préféré la mettre seule dans un sous dossier xdebug, que j'ai crée au préalable.

En effet, comme vous l'aurez constaté il y a 4 versions de la dll Windows pour chaque version de php.

Une 32 et une 64bits, mais aussi une version "simple" et une version "compilateur TS".

Selon votre système Lamp il va falloir choisir la bonne version.
Ne sachant laquelle utiliser, Xamp et Netbeans étant en 32 bits uniquement, je chargé les 4 versions pour php 5.4.

 

Pour commencer chargez uniquement la php 5.4 vc9 32 bits.

xdebug-site

 

configurer PHP pour Xdebug

Ouvrez le fichier de configuration de php avec votre éditeur (dans mon cas C:\xampp\php\php.ini).

 

Cherchez et modifiez la clé : output_buffering

Si besoin décommentez là et mettez output_buffering = off

php output buffering

 

Vérifiez s'il n'y a pas déjà des clés de paramétrage zend et xdebug.

Si oui, désactivez les lignes en les "commentant" (ajout d'un ; devant).

 

 Attention, dans les version récentes, la configuration de xbebug n'est pas dans wamp64/bin/pbhx.y.z/php.ini, mais dans ce même dossier dans phpForApache.ini

Ajoutez à la fin du fichier les lignes suivantes en corrigeant l'adresse et le nom du fichier de la DLL dans la clé zend_extension selon l'emplacement où vous avez effectué le téléchargement lors du § précédent.

 

[xdebug]
 
xdebug.default_enable=1
 
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
 
zend_extension="C:/xampp/php/xdebug/php_xdebug-2.2.2-5.4-vc9.dll"

 

Attention: d'après la documentation il faudrait utiliser la clé zend_extension_ts depuis php 5.4.

 

Or avec xamp il s’avère que c'est bien la clé zend_extension qui fonctionne (et donc avec les bibliothèques dll sans la mention nts).

 

Par ailleurs xamp fonctionnant en 32 bits, il faudra utiliser la version 32 bits de la dll, ceci même si votre Windows est en 64 bits.

 

Faites déjà un essai avec cette dll (les problèmes seront traité dans la § suivant) et pensez à redémarrer apache (stop/start).

 

apache start


Vérification du fonctionnement de xdebug

Si vous ne l'avez pas déjà créé dans un de vos domaine desservi par votre serveur Wamp, créez un fichier phpinfo.php contenant les lignes :

<? phpinfo() ?> et exécutez le.

 

Toutefois, certains panel d'admin Wamp on directement un lien vers un phpinfo (c'est la cas de Xamp).

 

Faites une recherche sur la page de phpinfo sur "xdebug".

Il doit apparaitre plusieurs fois et vous devez avoir un paragraphe xdebug.

 

phpinfo-xdebug-01phpinfo xdebug infos phpinfo-xdebug

 

Si vous n'avez pas cette rubrique vérifier vos chemin dans le paramètre zend_extension ou zend_extension_ts

 

Selon les cas je vous conseille d'essayer dans l'ordre les autres versions des dll en commencant par les 32 bits (en modifiant à chaque fois le chemin selon l'emplacement où vous avec chargé les dll) :

  • zend_extension="C:/xampp/php/xdebug/php_xdebug-2.2.2-5.4-vc9.dll" (c'est la dll que nous venons de tester)
  • zend_extension_ts="C:/xampp/php/xdebug/php_xdebug-2.2.2-5.4-vc9-nts.dll"
  • zend_extension="C:/xampp/php/xdebug/php_xdebug-2.2.2-5.4-vc9-x86_64.dll"
  • zend_extension="C:/xampp/php/xdebug/php_xdebug-2.2.2-5.4-vc9-nts-x86_64.dll"

en redémarrant Apache à chaque fois bien sur et en rafraichissant l'affichage de phpinfo.