Tengo una configuración y una máquina acoplable que ejecuta mi aplicación. En esta máquina acoplable, xdebug está habilitado con esta configuración de xdebug.ini.
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so xdebug.remote_enable=on xdebug.remote_enable=1 xdebug.remote_port=9000 xdebug.remote_host=10.5.0.1La IP de mi máquina local es 10.5.0.1
Cuando intento ejecutar mi aplicación en la línea de comandos, se vuelve a conectar al depurador de PhpStorm. Pero debido a que no hay un mapeo de ruta, se detiene en la primera línea del script, los puntos de interrupción no funcionan. El cursor del punto de interrupción no está visible, no puedo rastrear el código con la tecla F8 .
Además, debe mostrar algún tipo de error de asignación de ruta Depurador-> Ventanas de variables, pero no muestra ningún error.
¿Cómo arreglar esto?
Podría solucionar este problema, PhpStorm no puede manejar si serverName no está configurado.
1. Configure las variables de entorno:
export XDEBUG_CONFIG="idekey=PHPSTORM" export PHP_IDE_CONFIG="serverName=web_server_cli"2. Configure la asignación de ruta para ese nombre de servidor:
Vaya a Settings > Languages & Frameworks > PHP y cree un servidor con un nombre de host web_server_cli
configuración > lenguajes y marcos > php > servidores ¡Agregue su servidor y agregue su ruta de mapeo! Un ejemplo sería C:\Sites\mysite asignado a /var/www/mysite remoto o similar
Debe configurar una configuración de "servidor" en "Configuración> Idiomas y marcos> PHP> Servidores" que asigna las rutas como se ven en el servidor a las rutas en su proyecto.
Normalmente, ingresaría una URL en "Host" y establecería "Puerto" en el puerto HTTP, por ejemplo, 80 o 443. Para las secuencias de comandos CLI, la información que debe ingresar aquí se basará en su conexión con el servidor donde se ejecuta la secuencia de comandos CLI. . Por ejemplo, si utiliza SSH en 192.168.42.42 en el puerto SSH estándar (22), ingresaría "Host: 192.168.42.42" y "Puerto: 22".
Para averiguar qué detalles necesita configurar, vaya a "Configuración> Idiomas y marcos> PHP> Depurar", habilite "Forzar interrupción en la primera línea cuando no se especifique una ruta asignada" y asegúrese de "Ignorar conexiones externas a través de un servidor no registrado". configuraciones" no está marcada. Luego haga clic en "Escuchar conexiones de depuración" en la barra de herramientas y ejecute su secuencia de comandos; Debería aparecer un cuadro de diálogo que muestre el "Nombre del servidor:" y el "Puerto del servidor:" que está tratando de hacer coincidir, además de confirmar la ruta del archivo remoto. Haga clic en "Ignorar" en ese cuadro de diálogo, configure la asignación del servidor e intente nuevamente, y debería obtener una sesión de depuración adecuada.