support snippets intellij dependency composer collective best laravel vagrant xdebug laravel-routing homestead

snippets - depurando laravel artesano de PHPStorm con homestead



phpstorm ide helper laravel (2)

O, si todo eso es demasiado complicado o no funciona, puede activar su comando artesanal a través de una url (ruta) utilizando

Artisan::call(''whatever:command'');

Configuré Laravel Homestead. Luego configuré homestead xdebug.ini y PHPStorm para que funcione la depuración.

Aquí está mi xdebug.ini dentro de la casa

zend_extension=xdebug.so xdebug.remote_autostart = on xdebug.remote_enable = on xdebug.remote_connect_back = on xdebug.remote_port = 9000 xdebug.idekey = "vagrant"

Para iniciar una sesión de depuración, los pasos que sigo son

  1. En PHPStorm -> Comenzar a escuchar las conexiones
  2. En PHPStorm establece un punto de interrupción
  3. En mi navegador -> Usar XDebug Chrome Helper O agregar a mi URL? XDEBUG_SESSION_START =
  4. Cargar la página

Esto funciona perfectamente Mi problema es que cuando estoy dentro de la línea de comandos de Homestead y ejecuto un comando de php artisan no logro que llegue a mis puntos de interrupción.

Lo que he intentado

  1. XDEBUG_CONFIG="idekey=PHPSTORM" PHP_IDE_CONFIG="serverName=server_name" php -dxdebug.remote_host="127.0.0.1" artisan mycommand

  2. php -d xdebug.profiler_enable=On artisan mycommand

  3. También traté de establecer xdebug.remote_autostart=On luego sudo service php5-fpm restart pero aún mis puntos de ruptura nunca son golpeados en PHPStorm


Dos cosas son importantes:

  1. remote_connect_back no puede funcionar en el caso CLI porque Xdebug no puede detectar la dirección IP remota cuando estás en la consola
  2. Al usar Homestead / VirtualBox en la configuración de red NAT, su máquina de desarrollo (que está ejecutando PHPStorm) no tiene el IP 127.0.0.1 visto desde el interior de la máquina virtual. En cambio, generalmente tiene una IP como 10.0.2.2 . Para averiguar la IP correcta, eche un vistazo al access.log de Apache,

Lo siguiente funcionó para mí:

php -dxdebug.remote_autostart=on -dxdebug.remote_connect_back=off -dxdebug.remote_host=10.0.2.2 artisan

  1. editar Si sus puntos de interrupción no son alcanzados, debe configurar las asignaciones de carpeta correctamente (ya que su ruta en el IDE es diferente de la que ve el servidor web:
  1. export PHP_IDE_CONFIG="serverName=yourservername" en su VM, donde yourservername es lo que configuró en la captura de pantalla bajo "nombre"

  2. Agregue una configuración de depuración remota Php con una clave IDE y el servidor configurado anteriormente

  3. Y agregue su clave IDE y el remote_host a la XDEBUG-CONFIG de la VM

    export XDEBUG_CONFIG="idekey=artisan remote_host=10.0.2.2"

Referencias: http://randyfay.com/content/remote-command-line-debugging-phpstorm-phpdrupal-including-drush