Formation PUB020 : WordPress, 2023 Travailler avec AMPPS ou XAMPP

49.3 Activer Xdebug sous AMPPS


Pour pouvoir utiliser un débogueur côté serveur, par exemple le débogueur de PhpStorm, vous devez activer l'extension Xdebug sur votre serveur HTTP.

Par défaut, sous AMPPS, elle ne l'est pas.

Vérifier si Xdebug est activé

La fonction phpinfo() est idéale pour vérifier quelles extensions PHP sont activées sur le serveur. Attention : il ne faut jamais laisser cette instruction en place quand un site Web est en ligne.

Sur votre site en développement local, lancez une page Web qui fait appel à phpinfo() et vérifiez si Xdebug fait partie des extensions listées.

Si vous recherchez Xdebug sur la page et que vous n'obtenez aucun résultat, c'est que Xdebug n'est pas activé.

Si Xdebug est correctement activé et configuré, vous devez voir ceci (votre version pourrait être différente, en autant que c'est la version 3.x.x).

Xdebug3

Vérifier si le fichier de Xdebug existe

Si Xdebug n'est pas activé, la première chose à faire est de vérifier si le fichier requis a été copié sur le serveur.

Sous AMPPS, dans un environnement Windows, il s'agit du fichier C:\Program Files\Ampps\phpxx\lib\php_xdebug.dll où phpxx représente la version de PHP utilisée par votre serveur (ex : php82).

Toujours sous AMPPS, cette fois dans un environnement Mac, le fichier Xdebug n'est pas là initialement. Il faut l'installer manuellement à l'aide des instructions présentées sur cette fiche : « Installer Xdebug sur macOS Sequoia ».

Activer Xdebug

Une fois les fichiers en place, on peut activer Xdebug :

  • À partir du panneau de contrôle AMPPS, éditez votre fichier php.ini (ce fichier peut avoir un nom légèrement différent, laissez le soin à AMPPS d'ouvrir le fichier à partir du bouton Configuration).

    Configuration de PHP à partir du panneau de contrôle AMPPS

  • Dans le fichier affiché, recherchez une ligne qui débute par zend_extension et qui fait référence à un fichier xdebug. Si la ligne parle d'autre chose, ne lui touchez pas.
  • Si la ligne s'y trouve, assurez-vous qu'il n'y ait pas de point-virgule devant (le point-virgule est une marque de commentaire). Entrez ensuite le chemin vers votre fichier php_xdebug.dll (sous Windows) ou xdebug.so (sous Mac).
    php.ini (ou php-x.x.ini sous Ampps)

    ;Xdebug
    zend_extension="{$path}\phpxx\lib\php_xdebug.dll"

    Sous macOS, on aura plutôt ceci :
    php.ini (ou php-x.x.ini sous Ampps)

    ;Xdebug
    zend_extension=/Applications/AMPPS/apps/phpxx/lib/extensions/no-debug-non-zts-20220829/xdebug.so

  • Si la ligne ne s'y trouve pas, ajoutez-la. On la place généralement aux alentours de la section Dynamic Extensions.
    php.ini (ou php-x.x.ini sous Ampps)

    ;;;;;;;;;;;;;;;;;;;;;;
    ; Dynamic Extensions ;
    ;;;;;;;;;;;;;;;;;;;;;;
    zend_extension="{$path}\phpxx\lib\php_xdebug.dll"

  • Ajoutez cette configuration sous celle qui active Xdebug :
    php.ini (ou php-x.x.ini sous Ampps)

    zend_extension=...
    xdebug.mode=debug

  • Redémarrez votre serveur HTTP pour que les modifications soient prises en compte.
  • Relancez la page Web qui contient l'instruction phpinfo(). Vous devriez voir que Xdebug est activé et que xdebug.mode est à debug, comme sur l'image au début de cette fiche.

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre