Formation PUB020 : WordPress, 2020 Aménager notre environnement pour travailler efficacement

Activer XDebug sous AMPPS


Pour pouvoir utiliser le débogueur de PhpStorm, vous devez activer l'extension Xdebug sur votre serveur. Par défaut, sous AMPPS, elle ne l'est pas.

▼Publicité Le texte se poursuit plus bas

Vérifier si Xdebug est activé

La fonction phpinfo() est idéale pour vérifier quelles extensions PHP sont activées sur le serveur.

Lancez une page Web qui fait appel à phpinfo() et vérifiez si Xdebug fait partie des extensions listées.

Pour utiliser le débogueur de PhpStorm, il faut également que la configuration xdebug.remote_enable soit activée.

Remarquez que si vous travaillez avec Xdebug 3, la configuration xdebug.remote_enable=1 a été changée pour xdebug.mode=debug (voir impression d'écran plus bas).

Configurations xdebug avec phpinfo

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 les fichiers nécessaires ont été copiés sur le serveur.

Windows

Sous Windows, recherchez le chemin du fichier php_xdebug.dll. Vous devriez normalement le trouver dans le dossier C:\Program Files\Ampps\php-X.X\lib où X.X représente la version PHP utilisée.

S'il n'est pas là, vous pouvez le télécharger ici : http://xdebug.org/download.

Important : Apache nécessite la version TS (thread safe). Prenez donc la version PHP X.X VC15 TS (64 bit).

Windows binaries

Renommez le fichier php_xdebug.dll et copiez-le dans le dossier C:\Program Files\Ampps\php-X.X\lib.

Mac

Sous Mac, ce sera plutôt xdebug.so dans le dossier /Applications/AMPPS/php-X.X/lib/extensions où X.X représente la version PHP utilisée.

S'il n'est pas là, suivez les instructions sur cette fiche : « Installer XDebug sur macOS Big Sur ».

Pour les versions de nacOS avant Big Sur, il faut suivre les instructions ici : https://xdebug.org/wizard. Vous aurez besoin notamment de Homebrew.

Si vous obtenez des erreurs du genre « /usr/include/php/main/php.h: No such file or directory », essayez plutôt ce tutoriel : https://bbqsoftwares.com/blog/xdebug-catalina.

Copiez ensuite le fichier dans le dossier /Applications/AMPPS/php-X.X/lib/extensions.

Activer Xdebug

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

  • À partir du panneau de contrôle AMPPS, éditez votre fichier php.ini. Attention : AMPPS contient un mécanisme interne qui génère le fichier php.ini à partir d'un autre fichier. Si vous éditez le fichier php.ini directement à partir du système de fichiers, AMPPS ne tiendra pas compte de vos modifications.

    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 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).

    Note : selon votre version de AMPPS, vous pourriez avoir ;Xdebug ou ;Debug :

    php-7.3.ini

    ;Debug
    zend_extension = "{$path}\php-7.3\lib\php_xdebug.dll"

    ou

    php-7.3.ini

    ;Debug
    zend_extension = "{$path}/php-7.3/lib/extensions/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.

    Ex :

    php.ini

    ;;;;;;;;;;;;;;;;;;;;;;
    ; Dynamic Extensions ;
    ;;;;;;;;;;;;;;;;;;;;;;
    zend_extension = ...

  • Recherchez une ligne qui parle de xdebug.remote_enable. Si elle est en place, assurez-vous qu'elle ne débute pas par un point-virgule et que sa valeur soit à 1. Si elle n'existe pas, ajoutez-la juste sous la ligne qui active xdebug. Attention : c'est remote_enable et non remote_enabled.
    php-7.3.ini

    ;Debug
    zend_extension = ...
    xdebug.remote_enable = 1

    Notez qu'avec Xdebug 3, on aura plutôt ceci :
    php-7.3.ini

    ;Debug
    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.remote_enable est à On. Avec Xdebug 3, vous verrez plutôt que xdebug.mode est à debug.

Pour plus d'information

«  Upgrading from Xdebug 2 to 3 ». Xdebug. https://xdebug.org/docs/step_debug#mode

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Dernière révision le 13 avril 2021
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre