sublime debuggear como php xdebug phpstorm

debuggear - El depurador PhpStorm no se detiene en BreakPoints; sigue esperando xdebug_SESSION_



como debuggear en sublime text (13)

Basado en la respuesta de peteclark3:

Creo que una de las soluciones si tienes múltiples versiones de php-fpm con xdebug, como php5.6-fpm, php7.1-fpm, asegúrate de que solo una se esté ejecutando. Tenía 5.6 y 7.1 funcionando. Luego intenté cambiar en el puerto 7.1 a 9001. Pero si cambio al puerto 9001 en PhpStorm, entonces 5.6 no funciona, porque escucha en 9000. Por lo tanto, cada vez que cambie la versión de PHP, entonces probablemente necesite cambiar la configuración en phpStorm. Así que creo que es mejor tener solo uno de php-fpm en ejecución y todas las versiones de php-fpm pueden usar el mismo puerto.

Pregunta actualizada: PhpStorm | WebMatrix (IISExpress) | Xdebug.remote_port | - ¿Qué puerto (s) ubicar?

Estoy ejecutando el servidor web localhost en mi máquina Windows con WebMatrix e IISExpress. Instalé PHP y Xdebug en él y ambos funcionan.

Tengo una instalación local de WordPress.

Ahora estoy tratando de conseguir que PhpStorm lo depure usando Xdebug.

Cuando ejecuto PhpStorm, lanza la aplicación web en el navegador con parámetros de depuración relevantes en el navegador.

IDE KEY está haciendo juego

xdebug.remote_port está configurado correctamente. (Más tarde descubrí que esto está mal, pero no es erróneo. Debe ser el puerto 9000)

Pero parece que Xdebug nunca llega a comunicarse con PhpStorm. PhpStorm sigue escuchando y la ejecución se ejecuta completamente sin detenerse en ningún punto de interrupción.


Estaba teniendo el mismo problema al intentar probar un proyecto de Laravel utilizando XAMPP en Windows en PHPStorm. No tengo idea de qué estaba haciendo exactamente mal, pero eventualmente lo hice funcionar. Seguí las instrucciones paso a paso en el sitio de PHPStorm aquí .

Una cosa que creo que no estaba bien configurada fue que no había ningún intérprete configurado en el menú de PHP en Configuración.

También estaba probando algunas combinaciones de configuraciones en mi php.ini . Estas fueron las configuraciones que tengo cuando las cosas funcionaban:

zend_extension = C:/xampp/php/ext/php_xdebug-2.3.2-5.6-vc11.dll //as recommended from the Xdebug site itself xdebug.remote_enable=1= xdebug.profiler_enable=1 xdebug.profiler_output_name = "cachegrind.out.%t-%s"

En las Configuraciones de ejecución / depuración, utilizo una configuración de aplicación web de PHP, que simplemente comienza en la raíz del sitio. (Al principio, pensé que el apéndice ?XDEBUG_SESSION_START=<xxxxxxx> fue un error, pero no es así). Con suerte, eso podría ayudar si alguien más se enfrenta a un problema similar.


Estas líneas son cruciales para que funcione (en php.ini):

zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so xdebug.remote_autostart = 1 <-------- THIS xdebug.remote_enable = 1 <----------- AND THIS

Sin estas líneas xdebug nunca funcionará en phpstorm;)


Hubo un error de sintaxis en php.ini . Hubo " cotizaciones " adicionales y ; dos puntos .


Intente cambiar el puerto de escucha de xdebug en su php.ini y su IDE.

Ejecutando Mac Yosemite, para mí el problema fue que instalé con homebrew, siguiendo una guía que usaba php-fpm, que usa el puerto 9000 por defecto (que entra en conflicto con el puerto predeterminado de xdebug) ... Cambiando mi xdebug.remote_port a 9001 y cambiar el puerto xdebug en phpstorm solucionó el problema, aunque sospecho que este problema podría ocurrir para cualquier persona en cualquier IDE. Busqué en Google la mayor parte del día y no vi esta solución (ya que creo que es un método de instalación tan específico) ... pero espero que ayude a alguien.


Me tomó alrededor de una hora hasta que noté que este botón no estaba activado;)

"Ejecutar" -> "Comience a escuchar las conexiones de depuración de PHP"


PHPStorm tiene una herramienta incorporada en Ejecutar> Validación de depuración del servidor web.

Me ayudó a resolver mi problema.


Para mí fue cambiar la línea:

xdebug.remote_host = localhost a xdebug.remote_host = myComputerIP

(Usuario de Mac: en la terminal ejecuta ifconfig para encontrar tu ip)


Primero compruebe en qué puerto está trabajando xdebug, puede encontrarlo en su php.ini bajo xdebug.remote_port=9123 . Como puede ver en mi caso, está configurado en 9123.
Ahora abra PhpStorm vaya a php debug, vea la captura de pantalla:

en Xdebug encontrará el puerto Debug, asegúrese de que su valor sea el mismo que en el archivo php.ini en xdebug.remote_port (9123 en mi caso).

Espero eso ayude


Probé cualquiera de los trucos sugeridos y finalmente llamé al script por 127.0.0.1/script.php en lugar de localhost / script.php y ¡bingo!


Si alguien más se encuentra con este problema y está usando Vagrant, esto es lo que finalmente me solucionó:

xdebug.remote_host=10.0.2.2

Esa debe ser la dirección IP de su máquina local desde dentro del cuadro Vagrant, y 10.0.2.2 es la predeterminada. Si ingresa a su casilla de Vagrant, le mostrará la dirección IP desde la que inició sesión si desea confirmarla.

Sé que esto no es directamente relevante para la configuración específica que tenía el OP, pero esta publicación aparece en muchas búsquedas de xdebug / PhpStorm Google, así que con suerte esto puede ayudar a otra persona.


También obtengo este mensaje de error.
También hubo problemas con php.ini pero más sutiles.

Intenta encontrar y eliminar una fila como esta

extension=php_xdebug-...

Considere mirar mi respuesta aquí para más detalles " Xdebug - el comando no está disponible ".


Tuve un problema en el que un proyecto funcionaría y no otro. Intenté muchas configuraciones diferentes y traté de mirar los registros de xdebug, etc. Esta corrección parece haber resuelto mi problema:

Intente configurar sus puertos reales de xdebug en 9123 en lugar de 9000.

La nueva versión (9) de PHPStorm cambió su puerto predeterminado de conexión xdebug a 9123 (la configuración PHPSTORM, no la configuración real xdebug), probablemente por una buena razón, ya que tener la configuración PHPSTORM en el xdebug predeterminado 9000 no funcionaba pero tenía ellos configuraron a 9123 funcionó y resolvió el problema.