PHP Remote Debugging : l’extension Xdebug

L’extension Xdebug est disponible sur le site http://www.xdebug.org/index.php. Le binaire adapté à Apache sous Windows 2000 Serveur est la version php_xdebug-2.1.0-5.3-vc6.dll, qui est derrière le lien de téléchargement 5.3 VC6 (32 bit).

Il faut placer cette extension dans le dossier de php, par exemple dans « c:\wamp\bin\php\php5.3.0\ext\ », si WampServer a été installé dans « c:\wamp\ ».
Puis ajoutez au fichier php.ini, se trouvant dans « C:\wamp\bin\apache\Apache2.2.11\bin\ », la ligne :
zend_extension="c:/wamp/bin/php/php5.3.0/ext/php_xdebug-2.1.0-5.3-vc6.dll"

Il faut prendre garde de ne pas utiliser l’autre fichier php.ini, qui se trouve dans « C:\wamp\bin\php\php5.3.0 » (bien que le bon fichier soit accessible par un clic gauche sur l’icone de WampServer, en apparence dans le « dossier » PHP) , ni d’utiliser la syntaxe « zend_extension_ts=… ».
Après redémarrage d’Apache, la page phpinfo(), accessible par la page « Localhost », affiche une nouvelle section, concernant cette extension xdebug, avec la valeur d’un certain nombre de variables relatives à cette extension. Les valeurs par défaut de ces variables peuvent être modifiées en ajoutant les lignes correspondantes au fichier php.ini, après la ligne « zend_extension=… ».

Après l’installation de WampServer, ce fichier php.ini contient les directives suivantes :
- display_errors = On
- html_errors = On
Dès lors, avec la prise en compte de l’extension Xdebug, le simple emploi d’un navigateur permet déjà d’afficher, en cas d’erreur PHP, un tableau relativement complet vous renseignant sur la localisation de cette erreur, avec la pile des appels (mais la belle couleur orange de ce tableau ne semble pas modifiable !). Cet enrichissement de l’affichage en cas d’erreur correspond à la valeur « 1 » pour la variable xdebug.overload_var_dump, ce qui est sa valeur par défaut.
On pourra aussi régler selon ses besoins les valeurs d’autres variables, par exemple des variables « xdebug.var_display_max_children », « xdebug.var_display_max_data » et « xdebug.var_display_max_depth », dont les valeurs par défaut sont respectivement 128, 512, et 3.

Le site http://www.xdebug.org/docs/ contient une documentation très complète sur ces nombreuses variables. Il faut toutefois garder à l’esprit que certaines d’entre elles jouent un rôle dans différentes sections de cette documentation. Ajouter au fichier php.ini des lignes contenant des valeurs différentes pour une même variable ne cause apparemment pas de dysfonctionnement – en tout cas je n’en n’ai pas rencontré – , mais seule la dernière valeur affectée est prise en compte, quelle que soit la section où on souhaite que cette variable joue un rôle particulier.

 

 

Introduction
L’extension Xdebug
Utilisation d’Eclipse