Para configurar correctamente un entornos para depurar con Xdebug y PhpStorm los comandos Drush es necesario realizar una serie de configuración especifica.
- Configurar una PHP Web Application para depurar por la línea de comandos.
- Todo el código ejecutado debe estar disponible en el proyecto, incluyendo drush.
- Ej. Instalando drush como dependencia de composer (también, recuerde ejecutar drush desde su proyecto).
- Habilitar depuración xdebug para la línea de comandos.
sudo phpenmod xdebug
- Un enlace simbólico de xdebug.ini de mi directorio /etc/php/7.0/cli/conf.d como estaba usando en /etc/php/7.0/apache/conf.d para la depuración web.
-
Ejemplo de configuración:
sudo vi /etc/php/7.0/cli/conf.d/20-xdebug.ini
Y añadimos:
zend_extension=xdebug.so
xdebug.remote_connect_back = 1
xdebug.default_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.max_nesting_level = 500
xdebug.idekey = PHPSTORM
xdebug.profiler_enable_trigger = 1
Utilice el botón "Listen for PHP Debug connections" de PhpStorm:
- Establezca el cliente de depuración remota en la línea de comandos utilizando:
- Editamos ~/.bashrc y añadimos:
# PHPstorm drush debug
export XDEBUG_CONFIG="idekey=PHPSTORM"
- Establezca la configuración del servidor. Asegúrese de que el nombre que utiliza coincide con el nombre del servidor que configuró en PhpStorm:
- PHP_IDE_CONFIG = PHPSTORM
- Ejecute drush.
Si quereis correr Xdebug con Docker y/o Vagrant os recomiendo este post: http://blokspeed.net/blog/2016/02/debugging-drush-scripts-with-xdebug-and-phpstorm-on-vagrant-in-2016/
La verdad es que no recordaba como se configuraba el Xdebug para PhpStorm y Drush y gracias a Juanen (jansete en Drupal) me he vuelto a ponermelo bien y que menos que contribuirlo :D
Comentarios