¿Cómo depurar código PHP en Visual Studio Code en los servicios de XAMPP?

¿Cómo depurar código PHP en Visual Studio Code en los servicios de XAMPP?

Primero, encendí XAMPP e inicié los siguientes servicios:

Los servicios que inicié en XAMPP: captura de pantalla

Por cierto, la versión de PHP es 7.3.3. Luego revisé phpinfo()el navegador. Aquí hay una captura de pantalla:

phpinfo() - captura de pantalla

Y yo fuixdebug.orgpara descargar esta versión de Xdebug:

La versión de Xdebug que descargué: captura de pantalla

Cuando copié este archivo C:\xampp\php\ext, encontré que hay un archivo llamado php_xdebug.dll. Sea como sea, todavía llamé al archivo Xdebug en la ruta sin cambiar su nombre ( php_xdebug-2.7.2-7.3-vc15-x86_64.dll).

A continuación, copié un fragmento de código php.inide un artículo de Internet:

zend_extension = "C:\xampp\php\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000

Pero no pude entender por qué el puerto era 9000 y el puerto no funcionaba en absoluto. Ingresé localhost:9000en la barra de direcciones de Chrome y la página de resultados muestra que localhost rechazó mi solicitud de conexión.

Sin embargo, todavía seguí. Instalé la extensión "PHP Debug" en VS Code. La extensión launch.jsonse muestra a continuación:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

Finalmente, creé un nuevo archivo PHP y lo depuré. Cuando abrí el archivo en el navegador, el programa de depuración no funcionó. Entonces, ¿podría decirme dónde está el problema y mostrarme los pasos exactos de depuración?


Actualización: Finalmente, descubrí cuál es el problema: ¡el número del puerto 9000 está ocupado! Entonces escribí 'netstat -ano' en cmd y encontré el puerto 9000 y el valor PID correspondiente.ingrese la descripción de la imagen aquíLuego escriba 'taskkill /PID 4380 /F' para finalizar el proceso que ocupa el puerto. Finalmente, reinicie los servicios PHP. Por tanto, este problema ha quedado resuelto. Pero recuerde, asegúrese de instalar la versión correcta de xdebug, que puede ver en phpinfo() de XAMPP. Gracias a los amigos en el área de comentarios por su ayuda.

Respuesta1

No necesita abrir el puerto 9000, simplemente ejecute la depuración como:

ingrese la descripción de la imagen aquí

entonces

ingrese la descripción de la imagen aquí

elige PHP

ingrese la descripción de la imagen aquí

iniciar y reproducir icono verde

ingrese la descripción de la imagen aquí

agregue un punto de interrupción a sus métodos o controladores

ingrese la descripción de la imagen aquí

gestiona tus puntos de interrupción

ingrese la descripción de la imagen aquí

información relacionada