Xdebug est une extension php qui facilite le débogage de scripts. C'est un outil indispensable pour optimiser et suivre l'exécution de ses scripts php.
Fonctionnalités de Xdebug
- Ajout de la pile d'appel des fonctions dans les messages d'erreurs
- Affichage des paramètres d'appel des fonctions
- Ajout du nom du fichier, de la ligne et du nom de la fonction d'où provient l'erreur
- Support des fonctions membre des classes php
- Protection contre les appels de fonctions récursifs
- Profiling de script php
Installation de Xdebug
Xdebug est une extension pecl ce qui facilite son installation, c'est donc en utilisant pecl que je vous propose d'installer Xdebug. Comme pour installer apc les paquets php5-dev et php-pear sont indispensables pour installer Xdebug.
Installation des paquets nécessaires (pour debian et ubuntu)
root@monrps:~# aptitude install php5-dev php-pear
Installation de Xdebug
root@monrps:~# pecl install xdebug
[...]
Build process completed successfully
install ok: channel://pecl.php.net/xdebug-2.0.4
You should add "extension=xdebug.so" to php.ini
L'installation est terminée. Il ne reste plus qu'à charger l'extension dans php en créant un fichier xdebug.ini dans la conf de php.
Si vous utilisez php en module apache :
root@monrps:~# vi /etc/php5/apache2/conf.d/xdebug.ini
Si vous utilisez php en mode cgi :
root@monrps:~# vi /etc/php5/cgi/conf.d/xdebug.ini
Et on y ajoute le chargement de l'extension xdebug
zend_extension=/chemin/vers/xdebug.so
Normalement la librairie .so doit se trouver dans un répertoire de /usr/lib/php5 ... si vous ne la trouver pas lancer la commande :
root@monrps:~# find / -name "xdebug.so"
/chemin/vers/xdebug.so
Ensuite il suffit de redémarrer votre serveur http. Pour apache :
root@monrps:~# vi /etc/init.d/apache2 restart
ou pour lighttpd :
root@monrps:~# vi /etc/init.d/lighttpd restart
Pour plus d'informations sur les options disponibles dans xdebug je vous renvoie à la documentation de xdebug.
Image : bzedan