gpt4 book ai didi

php - 在PHP环境中将Docker与Xdebug和Sublime Text集成

转载 作者:行者123 更新时间:2023-12-02 18:32:17 24 4
gpt4 key购买 nike

我正在为我的团队设置一个Docker开发环境。在这种环境下,我们希望将Xdebug与Docker集成在一起以进行调试。似乎最简单的方法是将Sublime Text连接到Docker实例,然后在Sublime Text上安装Xdebug ontop。我找到了以下将Sublime Text与Docker集成的指南(http://domeide.github.io/),以及将Xdebug与Sublime Text集成(https://www.sitepoint.com/debugging-xdebug-sublime-text-3/)的指南。我想知道的是,是否有人在设置类似环境方面有任何经验?有没有更简单的方法可以做到这一点?这似乎是在Docker中调试PHP代码的正确方法吗?

最佳答案

此解决方案也可能适用于Sublime Text-对于Visual Studio Code,我最近才开始使用该解决方案。我发现使用最新版本的Docker Community Edition在Windows 10 Pro和OS X上都可以使用这些remote_host和其他Xdebug设置。

在Xdebug扩展配置中,我将这些设置与Xdebug扩展安装一起设置在来自包含php的docker hub的镜像包的Dockerfile中。该答案底部有一个帖子链接,内容涉及如何在Dockerfile中完成此操作以及如何构建镜像,然后将其添加到docker-compose文件中。

  • 需关闭xdebug.remote_connect_back设置:xdebug.remote_connect_back=0
  • 自动启动xdebug.remote_autostart=1即可使用。
  • xdebug.remote_host = 127.0.0.1需要根据Windows或OS X进行如下更改:

  • 运行Docker版本17.03.0-ce-win1的Windows 10 Professional,打开命令提示符并输入ipconfig。该地址在DockerNAT下列出。例如:
    ipconfig

    Ethernet adapter vEthernet (DockerNAT):

    IPv4 Address. . . . . . . . . . . : 10.0.75.1

    运行Docker版本17.03.0-ce-mac2的OS X El Capitan,为您现有的子网掩码创建IP 10.254.254.254的别名。
    sudo ifconfig en0 alias 10.254.254.254 255.255.255.0

    然后,根据上述示例,按如下所示将IP用于主机的 xdebug.remote_host设置:
  • Windows 10.0.75.1
  • OS X:10.254.254.254

  • 请注意,如果在OS X中遇到冲突,可以像这样删除别名。
    sudo ifconfig en0 -alias 10.254.254.254

    我将Visual Studio Code与vscode-php-debug PHP调试适配器一起使用,以监听Xdebug并逐步执行我的代码。请注意,项目 launch.json文件中需要包含以下内容,以便VS Code将远程服务器文件映射到本地计算机。这是从我的项目及其典型的卷位置得出的,您的serverSourceRoot看起来是相同的。
    "serverSourceRoot": "/var/www/html",
    "localSourceRoot": "${workspaceRoot}"

    docker-compose,nginx-proxy的整个设置,包括如何在 Docker WordPress Dev Environment - Remote Debugging with Xdebug and VS Code上使用Xdebug等构建镜像

    关于php - 在PHP环境中将Docker与Xdebug和Sublime Text集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38311482/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com