Comment installer et configurer Xdebug sous Ubuntu ?

Introduction

Xdebug est un puissant outil de debug lorsque l'on travaille en PHP. Il peut afficher des messages d'erreur formatés et intégre la très utile fonction var_dump. Cette page explique comment installer et configurer Xdebug.

Les instructions de cette page ont été testées sur un serveur Cloud9 avec les versions suivantes :

Vérifier la configuration actuelle

Parfois Xdebug est installé, mais mal configuré. La fonction var_dump n'est pas formatée correctement. Créez un fichier PHP avec le code suivant :

<?php var_dump( array('CodeIgniter', 'php', 'phpMyAdmin', 'lucidar.me') ); ?>

Vérifiez si le résultat de l'affichage est formaté. Sur l'illustration suivante, var_dump ne s'affiche pas correctement :

La fonction var_dump n'est pas formatée

Vérifiez si le module Xdebug est installé. La commande suivante affiche la liste des modules PHP installés:

php -m

Si Xdebug est déjà installé (Xdebug apparait dans la liste des modules), passez l'étape suivante pour allez directement à la configuration.

Installation du module Xdebug

Installez le paquet suivant :

sudo apt-get install php-xdebug

Vous pouvez aussi installer xdebug pour une version spécifique de PHP :

sudo apt-get install php7.3-xdebug

Redémarrer Apache2 manuellement ou avec la commande suivante :

sudo service apache2 restart

Configuration du module Xdebug

Vérifiez si var_dump est maintenant formaté correctement. Si ce n'est pas le cas, ajouter ou modifier le paramètre html_errors dans le fichier php.ini :

html_errors = On

L'affichage devrait maintenant être formaté :

La fonction var_dump est correctement formatée

Configuration supplémentaire

Je recommande aussi de modifier les paramètres suivants uniquement dans votre environement de développement dans le fichier php.ini. Cette configuration permet d'afficher toutes les erreurs et warninig directement dans la page :

display_errors = On
display_startup_errors = On
error_reporting = E_ALL

Voir aussi


Dernière mise à jour : 23/11/2021