10.Déboguer une application PHP
10.4.Xdebug
10.4.1.Introduction
Afin de faciliter le débogage d'un script PHP, il convient de l'instrumenter. En effet, le script PHP ne doit pas se contenter de s'exécuter, il doit également transmettre des informations permettant de suivre ce qu'il est en train de faire (ligne exécutée, contenu des variables, etc.). Pour parvenir à ce résultat, il convient d'installer une extension tel que Xdebug.
Xdebug permet de réaliser de multiples opérations autour du domaine du débogage. La principale, si l'on peut dire, c'est le débogage pas à pas d'un script mais il faut noter que Xdebug permet également de faire du "profiling", du suivi de couverture de code, etc.
Nous allons donc voir comment l'installer, comment l'activer et d'autres chapitres viendront compléter celui-ci afin de préciser comment l'utiliser dans les différents contextes évoqués.
10.4.2.Installation
10.4.2.1.Introduction
Xdebug peut être installé via les gestionnaires de paquet de la plupart des distributions linux mais il peut également être installé via l'utilitaire PHP PECL.
10.4.2.2.Via le gestionnaire de paquet sous Linux
10.4.2.2.1.Sous Debian 9 (Stretch)
10.4.2.2.2.Sous Debian 7 à 8 (Wheezy, Jessie)
10.4.2.3.Via PECL
Avec PECL il suffit de lancer la commande > pecl install xdebug
Comme indiqué à la fin de l'exécution du script d'installation de Xdebug (voir ci dessous) vous pourrier avoir à ajouter au fichier
php.ini (bien repérer celui qui est utilisé par votre environnement PHP ciblé) une ligne du type
zend_extension=/chemin/vers/xdebug.so. Le chemin est à reprendre dans les instructions affichées par le script.
Build process completed successfully
Installing '/usr/local/php-7.0.19/lib/php/extensions/no-debug-zts-20151012/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.6.0
configuration option "php_ini" is not set to php.ini location
You should add "zend_extension=/usr/local/php-7.0.19/lib/php/extensions/no-debug-zts-20151012/xdebug.so" to php.ini