Luego de consultar especialistas en la materia, programadores de deferentes ramas y maestros hemos dado con la respuesta al dilema y la compartimos en este post.
Solución:
Después de varios minutos para averiguar qué sucede en mi máquina, descubro cómo resolver mi problema.
Porque el xdebug se está ejecutando según el puerto 9000
y veo en el Debug Console
(VSCode) tiene mensaje listen EADDRINUSE :::9000
creo que hay otro proceso ejecutándose en el puerto 9000
así que compruebo qué proceso se está ejecutando en él con este comando
sudo netstat -nlp | grep :9000
El comando anterior le mostrará qué proceso se está ejecutando en el puerto 9000
entonces obtengo este resultado
tcp6 0 0 :::9000 :::* LISTEN 14856/hhvm
H HVM se hizo cargo del puerto de xdebug de forma predeterminada, por lo que necesito desactivarlo o cambiar el número de puerto.
Consejos:
También puedes usar lsof
para ver el proceso en un puerto específico
lsof -t -i :9000
Tuve el mismo problema cuando comencé a usar VSCode. Bueno, me tomó 3 horas averiguar qué es exactamente el problema, solo me quedé mirando con una depuración paso a paso, como qué puerto se usa y cuáles son las otras configuraciones.
Finalmente tuve suerte y obtuve las soluciones 🙂 Así que las compartí con todos. Puede verificar cuáles son mis hallazgos y qué debe configurar para que Xdebug funcione con VSCode.
#VSCode y depuración de PHP
Configure Xdebug en VS Code para depurar su código PHP sobre la marcha. siga las instrucciones paso a paso para configurar xdebug correctamente.
Acción gif:
¿Cómo configurar la depuración de PHP (xdebug) con VSCode?
1. En primer lugar, instale VSCode
2. Instale el adaptador de depuración de PHP para el código de Visual Studio
3. Instalar XDebug en WAMP
- Abrir phpinfo en el navegador
- Copie el código fuente de la vista
- Pegar en https://xdebug.org/wizard.php
- Descargue el archivo dll xdebug sugerido
- Pegue el archivo dll dentro de la versión actual de la carpeta php ext o la carpeta zend_ext
- Abra phpinfo y busque ‘Archivo de configuración cargado’ para saber qué archivo php.ini usa Wamp
- Abra el archivo php.ini y coloque debajo del código
[Xdebug] zend_extension=”COMPLETA-XDEBUG-DLL-ARCHIVO-RUTA”
Ejemplo
;extensión_zend=”d:wamp64binphpphp7.1.9zend_extphp_xdebug-2.6.0beta1-7.1-vc14-x86_64.dll”
O
;zend_extension=”d:wamp64binphpphp7.1.9extphp_xdebug-2.6.0beta1-7.1-vc14-x86_64.dll”
xdebug.remote_enable=1
xdebug.remote_autostart = 1
xdebug.remote_port="9000"
xdebug.profiler_enable=1
xdebug.remote_host="localhost"
xdebug.profiler_output_dir=""
;Example
;xdebug.profiler_output_dir="d:wamp64tmp"
4. Reinicie el servidor WAMP
Abra phpinfo y busque xdebug. Si lo encuentra, ¡ha instalado xdebug correctamente! Si Wamp Restart pero localhost no se abre, intente cambiar el PUERTO. Puede usar PORT por cualquier otra aplicación ya.
¿Cómo puede averiguar qué proceso está escuchando en un puerto en Windows?
Configurar XDebug en VSCode
Ejemplo JSON: lanzamiento.json
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"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
]
5. Actualice la configuración de VSCode para PHP para agregar la ruta ejecutable de PHP
"php.validate.run": "onType",
"php.validate.executablePath": "php.exe"
6. Guarde y reinicie VSCode
Abra la carpeta del proyecto PHP e intente depurar el código. Si recibe el siguiente error
El proceso del adaptador VS Code Debug finalizó inesperadamente
o
Error de consola de VS Code -> escuchar EADDRINUSE::900)
Eso significa que el PORT 9000 está siendo utilizado actualmente por otro programa. Es posible que esté ejecutando PHPStorm Xdebug o cualquier otra aplicación que utilice el PORT 9000. Intente cerrar PHPStorm u otro programa e intente depurar nuevamente.
Aún recibe un error, luego intente encontrar qué programa usa PORT 9000 y elimínelo. Aún recibe un error, intente cambiar PORT en php.ini y launch.json y reinicie wamp y VSCode.
Ahora puede ver XDEBUG trabajando en VSCode.
> #### Código de ejemplo para probar
Gracias 🙂
Comentarios y valoraciones de la guía
Si tienes algún cuestión o forma de prosperar nuestro crónica te inspiramos añadir una ilustración y con gusto lo observaremos.