Red de conocimiento informático - Aprendizaje de programación - ¿Cómo monitorea phpstorm las aplicaciones locales para su depuración local?

¿Cómo monitorea phpstorm las aplicaciones locales para su depuración local?

Generalmente, se accede a los proyectos web a través de un navegador y la ejecución de scripts no está controlada por el IDE, por lo que los puntos de interrupción no se pueden implementar en el IDE en circunstancias normales, pero con xdebug, todo se vuelve diferente.

Por supuesto, primero instalamos la extensión xdebug para PHP. xdebug tiene una función de depuración remota. Puede especificar una dirección IP y un puerto remotos. Cuando accedemos a un script en el navegador, podemos indicarlo. xdebug que necesitamos depurar, y luego xdebug enviará la información de depuración a la dirección remota. Esta dirección remota es implementada por nuestro phpstorm. Recibirá la información escupida por xdebug y nos la enviará en el IDE. Se puede implementar la depuración de puntos de interrupción.

Luego, hay tres pasos para implementar esta función:

1. Instalar y configurar xdebug

Omitiré el proceso de extensión de instalación y simplemente pegaré mi archivo. Parámetros de configuración de xdebug, en php.ini:

[xdebug]

zend_extension="/usr/local/Cellar/php54-xdebug/2.2.5/xdebug.so"< / p>

xdebug.remote_enable =1

xdebug.remote_handler = "dbgp"

xdebug.remote_host = "localhost"

xdebug.remote_mode = " req"

xdebug.remote_port = 9001

xdebug.idekey="PHPSTORM"

Tenga en cuenta los dos parámetros xdebug.remote_host y xdebug.remote_port, que están relacionados a Con respecto a phpstorm, primero tenga cuidado.

Luego reinicie el servidor web para que php.ini surta efecto.

Configuración de 2.phpstorm

En la configuración del proyecto - PHP - Depuración, hay una columna xdebug con un puerto de depuración. La configuramos en 9001 para que sea coherente con xdebug.remote_port anterior. ., el resto de cosas permanecen sin cambios y guarda la configuración.

Luego haga clic en Ejecutar y comience a escuchar las conexiones de depuración de php en la barra de menú de phpstorm. En este momento, php creará un servicio en segundo plano para escuchar la dirección localhost:9001, que corresponde a la configuración de xdebug. .

3. La depuración activada por el navegador

Todo está listo y todo lo que necesitamos es viento del este. Abrir un script php ahora no generará información de depuración. xdebug no depurará todas las solicitudes y debe hacerlo. especificado.

Ahora, abra la dirección /phpstorm/marklets/, haga clic en el botón generar a la izquierda y luego aparecerá una serie de enlaces en la parte inferior de la página, como "iniciar el depurador". atributo href y encontrará que es un código js, ​​cópielo, luego vaya a la página que desea depurar, ejecútelo en la consola f12, generará una cookie en el dominio actual, cuando se solicite la URL, xdebug sabrá que desea depurar en función de esta cookie y luego enviarla a localhost: 9001 escupe datos, y phpstorm los combinará con su propia herramienta de depuración de puntos de interrupción después de recibirlos...

Pero esto es demasiado problemático Si está utilizando Chrome, puede descargar un complemento llamado "Xdebug helper". Puede buscarlo e instalarlo en el mercado de complementos. Después de la instalación, búsquelo en el centro de administración de extensiones y haga clic en. Enlace "Opciones" para ingresar a la página de configuración del complemento. Seleccione "phpstorm" para la clave IDE y luego agregue su proyecto al filtro de dominio agregado. De esta manera, cuando acceda a la URL de su proyecto, aparecerá un pequeño error en el lado derecho de la barra de direcciones. Puede hacer clic en el error para habilitar la depuración, lo cual es muy conveniente.

De esta manera, establece un punto de interrupción en el script correspondiente a la URL en phpstorm, luego habilita la depuración en el navegador, actualiza la página y phpstorm abrirá automáticamente un cuadro de confirmación para permitirle confirmar si para depurar el script especificado. Entonces podrá utilizar felizmente la función de depuración de puntos de interrupción.