Comment déboguer le code Magento 2 lors de l'utilisation des lignes de commande?

10

L'exécution d'un script en ligne de commande est quelque chose que nous faisons fréquemment dans Magento 2. Par exemple, lors de la création d'un nouveau module, nous devons exécuter la setup:upgradecommande. Nous ne pouvons pas voir toutes les informations dont nous avons besoin.

Je sais que de nombreux développeurs de Magento choisissent PHPStorm comme éditeur préféré. Comment pouvons-nous utiliser PHPStorm pour déboguer les lignes de commande de Magento 2?

Khoa TruongDinh
la source

Réponses:

17

J'ai configuré " PHP Remote Debug " dans PHPStorm et je viens d'ajouter XDEBUG_CONFIG avant le script pour démarrer le débogage.

comme XDEBUG_CONFIG=idekey=phpstorm bin/magento setup:upgrade

KAndy
la source
Comment configurer le débogage en local. J'utilise php 5.5.15 avec xdebug 2.2.3 sur windows 10 et xampp. Activer l'écoute et la configuration dans la configuration, mais le débogage de la console s'exécute sans aucun journal
mrtuvn
J'espère que cette documentation vous aidera à confluence.jetbrains.com/display/PhpStorm/…
KAndy
ça marche parfaitement!
mrtuvn
2

@ La réponse de KAndy m'a mis sur la bonne voie, mais je développe localement en utilisant vagabond et j'ai dû faire ce qui suit pour que cela fonctionne 1

Configurer Xdebug:

zend_extension=xdebug.so
xdebug.remote_enable = 1

;remote_connect_back will fail because REMOTE_ADDR header wont be set
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
xdebug.idekey = "PHPSTORM"

;remote_host is ignored when remote_connect_back is enabled & successful; fallback
;Set to your HOST MACHINE IP
xdebug.remote_host=xx.xx.xx.xx 

;provides valuable insight if you cant connect. Remove when done.
xdebug.remote_log="/tmp/xdebug.log"

Définissez l' remote_hostadresse IP sur l'adresse IP de l'hôte (pour moi, l'utilisation de l'adresse IP de ifconfigsur la machine invitée n'a pas fonctionné - l'adresse IP utilisée acquise à partir des paramètres réseau sur la machine hôte comme remote_host).

Configurer PHP Storm

  1. Configurez un serveur sous Settings -> Languages and Frameworks -> PHP -> Serverssi vous ne l'avez pas déjà fait. (Voir capture d'écran) Exemple de paramètres de serveur sur PHP Storm
  2. Run -> Edit Configurations et ajoutez un PHP Remote Debug.
    • Choisissez le serveur que vous avez créé dans # 1
    • Définissez la clé IDE sur PHPSTORM Paramètres de configuration
  3. (Facultatif) Settings -> Languages and Frameworks -> PHP -> DebugCochez "Couper à la première ligne dans les scripts PHP" (cela peut aider à déboguer les problèmes avec votre mappage de chemin.)
  4. Run -> Debug Vagrant (ou tout ce que vous avez nommé votre configuration à l'étape 2)
  5. Exécutez le script que vous souhaitez déboguer ( magento setup:upgradedans mon cas)

1 J'utilise ubuntu / trusty64 comme référence

Phil Birnie
la source