Mise en place d’un débogueur pour PHP : Xdebug.

Les informaticiens du monde java ont souvent l'impression de pouvoir faire moins de chose avec PHP.
Mais PHP devient de plus en plus mature et de nombreux outils sont maintenant disponibles.

Je vais vous présenter comment mettre en place un débogueur pour PHP : Xdebug sous windows.

Pour télécharger Xdebug, rendez vous à l'adresse suivante :
http://xdebug.org/download.php

J'ai pris la version 5.2VC6 (32bit) pour windows.

Il est recommandé de prendre :

pour PHP 5.2 : http://www.xdebug.org/files/php_xdebug-2.0.5-5.2.dll

pour PHP 5.3 : http://www.xdebug.org/files/php_xdebug-2.0.5-5.3-vc6.dll

ATTENTION : Télécharger la version qui correspond à la branche de PHP que vous utilisez (PHP 5.2 ou PHP5.3) et prendre plutôt la version thread-safe.

XDebug permet de faire trois choses :

- améliorer la gestion des erreurs de PHP (afficher plus d’informations lors d’erreurs PHP, optimiser la présentation de var_dump()) ;

- faire du profiling (à utiliser avec kcachegrind ou wincachegrind) ;

- debugger vos scripts.

Une fois la bibliothèque téléchargée, placez votre librairie dans un dossier, par exemple dans "c:/php/modules/"
Il faut ensuite paramétrer la gestion du php.

Pour cela il faut modifier votre fichier "php.ini"

Il suffit de rajouter les lignes suivantes:

Si vous êtes en php < 5.3 :

zend_extension_ts="c:/php/modules/php_xdebug-2.0.5-5.2.dll"

Si vous êtes en php 5.3
 :

zend_extension="c:/php/modules/php_xdebug-2.0.5-5.3-vc6.dll"

Vous pouvez rajouter aussi les paramètres suivant :

xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req

Pour ajouter les fonctions de profiling il faut ajouter les lignes suivantes :

xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "c:/tmp/"

Pour améliorer les informations lors de l’affichage des messages d’erreur :

xdebug.collect_params = On
xdebug.show_local_vars = On

Redémarrer votre serveur apache
Pour vérifier que Xdebug fonctionne faire un phpinfo().

Si vous obtenez cette image votre serveur est alors prêt pour fonctionner avec Xdebug.
phpinfo

Dans un prochain billet je vous expliquerai comment utiliser Xdebug avec eclipse.

2 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.