¿Cómo depurar el código de Magento 2 cuando se usan líneas de comando?

10

Ejecutar un script en la línea de comandos es algo que hacemos con frecuencia en Magento 2. Por ejemplo, al crear un nuevo módulo, debemos ejecutar el setup:upgradecomando. No podemos ver toda la información que necesitamos saber.

Sé que muchos desarrolladores de Magento eligen PHPStorm como su editor favorito. ¿Cómo podemos usar PHPStorm para depurar las líneas de comando de Magento 2?

Khoa TruongDinh
fuente

Respuestas:

17

Configuré " PHP Remote Debug " en PHPStorm y simplemente agregué XDEBUG_CONFIG antes del script para comenzar la depuración.

me gusta XDEBUG_CONFIG=idekey=phpstorm bin/magento setup:upgrade

Kandy
fuente
Cómo configurar la depuración en local. Estoy ejecutando php 5.5.15 con xdebug 2.2.3 en Windows 10 y xampp. Habilite la escucha y la configuración en la configuración, pero la depuración de la consola se ejecuta sin ningún registro
mrtuvn el
Espero que esta documentación te ayude a confluence.jetbrains.com/display/PhpStorm/…
KAndy
funciona perfectamente!
mrtuvn
2

La respuesta de @KAndy me puso en el camino correcto, pero estoy desarrollando localmente usando vagabundo y tuve que hacer lo siguiente para que esto funcione 1

Configurar 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"

Establezca la remote_hostIP en la dirección IP del host (para mí, el uso de la dirección IP de ifconfigla máquina invitada no funcionó: la dirección IP utilizada se adquirió de la configuración de red en la máquina host como remote_host).

Configurar PHP Storm

  1. Configure un servidor debajo Settings -> Languages and Frameworks -> PHP -> Serverssi aún no lo ha hecho. (Ver captura de pantalla) Ejemplo de configuración del servidor en PHP Storm
  2. Run -> Edit Configurations y agregue un PHP Remote Debug.
    • Elija el servidor que creó en el n. ° 1
    • Establezca la clave IDE en PHPSTORM Ajustes de configuración
  3. (Opcional) Settings -> Languages and Frameworks -> PHP -> DebugMarque "Romper en la primera línea en secuencias de comandos PHP" (esto puede ayudar a depurar problemas con su asignación de ruta).
  4. Run -> Debug Vagrant (o como sea que haya nombrado su configuración en el Paso 2)
  5. Ejecute el script que desea depurar ( magento setup:upgradeen mi caso)

1 Estoy usando ubuntu / trusty64 como referencia

Phil Birnie
fuente