El depurador PhpStorm no se detiene en los puntos de interrupción; sigue esperando la SESIÓN xdebug


Pregunta actualizada: PhpStorm / WebMatrix | IISExpress) / Xdebug.remote_port / - ¿Qué puerto(s) poner dónde?


Estoy ejecutando localhost web server en mi máquina Windows con WebMatrix e IISExpress. He instalado PHP y Xdebug en él y ambos están trabajando.

Tengo una instalación local de WordPress.

Ahora estoy intentando que PhpStorm lo depure usando Xdebug.

Cuando corro PhpStorm, inicia la aplicación web en el navegador con la depuración relevante parámetros en el navegador.

La CLAVE IDE coincide

IDE

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

xdebug.puerto remoto

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.

PhpStormPhpStorm

Author: Community, 2013-06-15

13 answers

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;)

 41
Author: Capy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-07 19:10:43

Intente cambiar el puerto xdebug listen en su php.ini y tu 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)... Cambiar 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 esto solución (ya que creo que es tan específico para instalar el método).. pero espero que ayude a alguien.

 29
Author: peteclark3,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-20 14:11:18

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

"Run" - > "Start Listening for PHP Debug Connections"

introduzca la descripción de la imagen aquí

 19
Author: Rotareti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-26 13:11:43

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

En Xdebug encontrará puerto de depuración, asegúrese de que su valor es el mismo que en php.archivo ini bajo xdebug.remote_port (9123 en mi caso).

Espero que ayude

 6
Author: vlio20,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-17 17:47:45

Para mí fue cambiar la línea:

Xdebug.remote_host=localhost a xdebug.remote_host = myComputerIP

(Usuario de Mac: en el terminal ejecute ifconfig para encontrar su ip)

 5
Author: unismoke.com,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-28 00:46:37

PhpStorm tiene una herramienta incorporada en Ejecutar > Validación de depuración del servidor Web.

Me ayudó a resolver mi problema.

introduzca la descripción de la imagen aquí

 3
Author: katmoon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-28 16:06:54

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

xdebug.remote_host=10.0.2.2

Que debe ser la dirección IP de su máquina local desde dentro de la caja Vagrant, y 10.0.2.2 es el valor predeterminado. Si ssh en su Vagrant box, mostrará la IP desde la que inició sesión si desea confirmar.

Sé que esto no es directamente relevante para la configuración específica que tenía el OP, pero este post aparece en muchas búsquedas de Google de xdebug / PhpStorm, por lo que espero que esto pueda ayudar a alguien más.

 3
Author: Scott Weaver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-20 14:48:49

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

Intenta encontrar y eliminar una fila como esta

extension=php_xdebug-...

Considere mirar mi respuesta aquí para más detalles " Xdebug - command is not available".

 1
Author: it3xl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:08

Hubo un error de sintaxis en php.ini. Había "citas" y ;puntos;.

xdebug.puerto remoto

 1
Author: laggingreflex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-03 22:25:34

Estaba teniendo este mismo problema al intentar probar un proyecto Laravel usando XAMPP en Windows en PhpStorm. No tengo ni idea de lo que estaba haciendo mal, pero al final lo hice funcionar. Seguí las instrucciones paso a paso en el sitio de PhpStorm aquí.

Una cosa que creo que no se configuró correctamente fue que no había ningún intérprete configurado en el menú de PHP en Ajustes.

También estaba probando demasiadas combinaciones de ajustes en mi php.ini. Estos fueron la configuración que tengo cuando las cosas estaban funcionando:

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 mis Configuraciones de Ejecución/Depuración, uso una configuración de Aplicación Web PHP, que simplemente comienza en la raíz del sitio. (Al principio, pensé que el anexo ?XDEBUG_SESSION_START=<xxxxxxx> era un error, pero no lo es). Esperemos que eso pueda ayudar si alguien más se enfrenta a un problema similar.

 1
Author: cchapman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-06 20:45:15

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

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

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

 1
Author: c-a,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-12 15:51:44

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!

 0
Author: trent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-29 17:49:46

Basado en peteclark3 respuesta:

Creo que una de las soluciones si tiene varias versiones de php-fpm con xdebug, como php5.6-fpm, php7.1-fpm - asegúrese de que solo se esté ejecutando una. Tenía 5.6 y 7.1 funcionando. Luego intentó cambiar el puerto 7.1 a 9001. Pero si cambio a 9001 port en PhpStorm, entonces 5.6 comienza a no funcionar, porque escucha en 9000. Así que cada vez que cambie la versión de php, entonces probablemente tendría que 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.

 0
Author: Darius.V,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-23 17:10:30