代码之家  ›  专栏  ›  技术社区  ›  gauri

使用PHP 7.2和Xdebug 2.0设置远程调试

  •  0
  • gauri  · 技术社区  · 2 年前

    我需要在本地机器上设置Xdebug,该机器将连接到远程开发服务器。 我的 launch.json 在VS代码中看起来是这样的-

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Listen for Xdebug",
                "type": "php",
                "request": "launch",
                "hostname": "a.b.c.d", //Remote server IP
                "port": 9000
            }
        ]
    }
    

    我已在中添加了此代码 /etc/php/7.2/cli/conf.d/20-xdebug.ini 文件

    zend_extension=xdebug.so
    xdebug.remote_enable=1
    xdebug.remote_autostart=1
    xdebug.remote_handler = dbgp
    xdebug.remote_port = 9000
    xdebug.remote_host = 127.0.0.1
    xdebug.remote_log=/var/log/xdebug.log
    xdebug.remote_mode = req
    xdebug.idekey="vsc"
    

    我已经在浏览器中添加了xdebug扩展。 尝试单击时出现此错误 开始调试

    Error: listen EADDRNOTAVAIL: address not available  a.b.c.d:9000 
    code: 'EADDRNOTAVAIL',   
    errno: -4090,   
    syscall: 'listen',   
    address: 'a.b.c.d',   
    port: 9000
    

    我缺什么了吗?

    0 回复  |  直到 2 年前
        1
  •  1
  •   Derick    2 年前

    这意味着其他东西已经在9000端口上侦听了。例如PHP-FPM。您需要将端口设置为其他端口,例如9003,因为这正是Xdebug3所使用的。然后您需要使用9003两者 xdebug.remote_port 和在 "port" : 9003 在VS代码中 launch.json 文件

    推荐文章