Utilisation de Xdebug avec Lando et Drupal
Introduction
Xdebug est un outil puissant pour le débogage des applications PHP. Lando est un outil de développement local basé sur Docker qui simplifie la configuration et la gestion des environnements de développement. Ce guide explique comment configurer Xdebug avec Lando pour déboguer un site Drupal.
1. Pré-requis
Avant de commencer, assurez-vous que vous avez :
- Lando installé et configuré sur votre machine.
- Drupal installé et fonctionnant avec Lando.
- Xdebug installé dans l’environnement PHP de Lando.
- Un IDE ou un éditeur de code compatible avec Xdebug (comme PhpStorm ou Visual Studio Code).
2. Configurer Xdebug avec Lando
Étape 1: Modifier le fichier .lando.yml
Vous devez configurer Lando pour qu’il inclue Xdebug dans votre environnement de développement. Ajoutez ou modifiez le fichier .lando.yml
de votre projet pour inclure la configuration Xdebug :
yamlCopier le codename: drupal-app
recipe: drupal9
config:
webroot: web
xdebug: true # Active Xdebug
services:
appserver:
type: php:8.0 # Remplacez par la version PHP que vous utilisez
xdebug:
enabled: true
settings:
xdebug.mode: debug
xdebug.start_with_request: yes
xdebug.client_host: 127.0.0.1
xdebug.client_port: 9003
xdebug.log: /var/log/xdebug.log
xdebug: true
: Active Xdebug pour le serviceappserver
.xdebug.mode: debug
: Configure Xdebug pour le débogage.xdebug.start_with_request: yes
: Démarre une session de débogage automatiquement.xdebug.client_host: 127.0.0.1
: Définir l’hôte de l’IDE.xdebug.client_port: 9003
: Définir le port pour la connexion de Xdebug.xdebug.log
: Chemin du fichier de log pour Xdebug.
Étape 2: Recréer les Conteneurs Lando
Après avoir modifié le fichier .lando.yml
, recréez les conteneurs pour appliquer les changements :
bashCopier le codelando rebuild -y
3. Configurer Votre IDE
PhpStorm
- Configurer Xdebug dans PhpStorm :
- Allez dans
Preferences
(ouSettings
). - Sous
Languages & Frameworks
, sélectionnezPHP
. - Cliquez sur
Debug
, et configurez le port de Xdebug (9003 par défaut). - Cliquez sur
Validate
pour vérifier la connexion.
- Allez dans
- Configurer le Serveur de Débogage :
- Allez dans
Preferences
>Languages & Frameworks
>PHP
>Servers
. - Ajoutez un nouveau serveur avec le nom correspondant à votre domaine (
example.lndo.site
), définissez le port et le chemin de base de votre projet.
- Allez dans
- Configurer les Points d’Arrêt :
- Placez des points d’arrêt dans votre code PHP pour interrompre l’exécution et examiner les variables.
Visual Studio Code
- Installer l’Extension Xdebug :
- Installez l’extension
PHP Debug
depuis le marketplace.
- Installez l’extension
- Configurer
launch.json
:- Allez dans le panneau
Run and Debug
et cliquez surcreate a launch.json file
. - Configurez le fichier
launch.json
comme suit :jsonCopier le code{ "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003, "pathMappings": { "/var/www/html/drupal/web": "${workspaceFolder}/web" } } ] }
- Allez dans le panneau
- Configurer les Points d’Arrêt :
- Placez des points d’arrêt dans votre code PHP.
4. Déboguer avec Xdebug
- Démarrer le Débogage :
- Lancez une session de débogage depuis votre IDE. Cela démarrera l’écoute des connexions Xdebug.
- Accéder à Drupal :
- Accédez à votre site Drupal via votre navigateur. Xdebug démarrera une session de débogage à la première requête si
xdebug.start_with_request
est activé.
- Accédez à votre site Drupal via votre navigateur. Xdebug démarrera une session de débogage à la première requête si
- Utiliser les Points d’Arrêt :
- Lorsque l’exécution du code atteint un point d’arrêt, votre IDE s’arrêtera et vous pourrez inspecter les variables, les appels de fonction et le flux de contrôle.
5. Résolution des Problèmes
- Xdebug ne se Connecte Pas :
- Vérifiez que le port (9003 par défaut) est ouvert et non bloqué par un pare-feu.
- Assurez-vous que
xdebug.client_host
est correctement configuré pour pointer vers votre machine locale.
- Les Points d’Arrêt Ne Fonctionnent Pas :
- Assurez-vous que les chemins mappés dans
pathMappings
sont corrects et correspondent à ceux dans votre conteneur Lando.
- Assurez-vous que les chemins mappés dans
- Xdebug ne Démarre Pas :
- Vérifiez les logs de Xdebug pour des erreurs potentielles.
Conclusion
L’utilisation de Xdebug avec Lando et Drupal facilite le débogage en fournissant des outils puissants pour analyser le comportement du code. En suivant les étapes ci-dessus, vous pouvez configurer efficacement Xdebug pour améliorer votre flux de travail de développement.
Pour des informations supplémentaires, consultez les documents de Xdebug et Lando.