Xdebug est une extension PHP très pratique qui permet comme son nom l’indique de debugger.
L’une de ses fonctionnalités, Trace, permet de connaître toutes les fonctions appelées par un script, dans leur ordre d’appel, le fichier dans lequel elles ont été appelées… plein d’infos utiles.
La trace génère des fichiers texte (portant l’extension .xt), qui sont souvent très verbeux et pas faciles à lire. J’ai donc écrit un petit script PHP qui lit ces fichiers .xt et les présente dans une page HTML beaucoup plus pratique à lire.
En plus de ça, ce fichier permet d’exclure certaines fonctions : les fonctions natives PHP + les fonctions que vous souhaitez (il suffit de placer leur nom dans un tableau PHP).
Vos traces doivent être au format XDEBUG_TRACE_COMPUTERIZED (Xdebug propose 3 formats de Trace).
Tout est expliqué dans les commentaires du fichier XdebugViewer.php, en gros voici les 2 extraits de code PHP qui permettent d’activer xdebug :
<?php
# Avec ini_set (suffixage automatique avec un timestamp) :
ini_set('xdebug.trace_output_dir', dirname(__FILE__));
ini_set('xdebug.trace_output_name', 'xdebug_trace_%u');
xdebug_start_trace(null, XDEBUG_TRACE_COMPUTERIZED);
# Fichier unique :
xdebug_start_trace('J:\MULTI\__VIEWER', XDEBUG_TRACE_COMPUTERIZED);
?>
Installer Xdebug sur Windows
Pour installer xdebug sur EasyPHP ou WAMP, il vous suffit d’aller sur le site d’xdebug et de télécharger l’extension (pour windows, elle se présente sous forme d’une DLL).
Ensuite vous copiez la dll dans votre dossier extensions PHP :
C:\EasyPHP5.2.10\php\ext\php_xdebug-2.1.2-5.2-vc6.dll
Et vous activez l’extension en la déclarant dans le fichier php.ini (écrivez à la fin du fichier) :
zend_extension_ts = C:\EasyPHP5.2.10\php\ext\php_xdebug-2.1.2-5.2-vc6.dll
[Télécharger XdebugViewer]