En este post vamos a explicar los pasos a seguir para hacer funcionar Xdebug con vagrant y phpstorm.
PASOS
- Accedemos a nuestra máquina vagrant con el comando vagrant ssh.
- Una vez dentro de vagrant instalamos xdebug mediante el comando "apt-get install php5-xdebug".
- Ahora ya con xdebug instalado procedemos a editar nuestro fichero de configuración php.ini ( vim /etc/php5/apache2/php.ini ) y añadimos la siguiente información al final del fichero:
zend_extension = /usr/lib/php5/20100525/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_host = 10.0.2.2
xdebug.remote_port = 10000
xdebug.idekey = PHPSTORM
En la primera línea "zend_extension = /usr/lib/php5/20100525/xdebug.so " os podéis encontrar que el número varia en ocasiones, por ello es recomendable acceder a la carpeta "/usr/lib/php5" y ver que nombre tiene la carpeta numérica que encontraremos allí y de este modo aseguramos que añadimos la línea correctamente a php.ini
-
Una vez añadido todo esto a php.ini reiniciamos el servidor de apache para que coja los cambios con "sudo service apache2 restart".
-
Ahora vamos a instalar la extensión de chrome xdebug helper, una vez instalada pinchamos botón derecho sobre el icono y configurar:

- Una vez dentro de la pantalla de configuración:
Seleccionamos PHPSTORM, que coincide con el idekey anteriormente escrito en php.ini ( xdebug.idekey = PHPSTORM ), tras esta selección pinchamos en "SAVE".
-
Ahora pasaremos a configurar PHPstorm, para ello una vez dentro de PHPstorm arriba en la esquina superior derecha pinchamos en la flecha izquierda que vemos en la captura y seleccionamos “Edit configurations”
Dentro del editor de configuración desplegamos "Defaults", pinchamos en "PHP Remote Debug"

-
Por último vamos a File > Settings > Languages & Frameworks > PHP > Debug y ahí en la sección de Xdebug ponemos el puerto que usamos en php.ini anterior, en nuestro caso 10000 ( xdebug.remote_port = 10000 ), y aplicamos, hacemos exactamente igual yendo a Default settings > Languages & Frameworks > PHP > Debug.
-
Una vez ya todo configurado sólo queda acceder a la página que queremos debugear, y arriba a la derecha pinchamos en la “cucaracha” seleccionamos "Debug" y esta se pondrá verde.
-
Y ya sólo nos queda ir a PHPStorm y encender el "teléfono", que es el símbolo que ese l cuarto icono que podemos ver a partir de la flecha con un punto verde y un prohibido
tras pinchar en el veremos como se quita el prohibido y se pone entero verde esto hará que esté a la escucha ya. -
Ya con todo preparado sólo nos queda añadir un breakpoint y a volar!