
mileschou/xdebugdocker-xdebug 是一个集成了 Xdebug 的 Docker 镜像,专为 GitLab CI、Drone CI、Dapper、GitHub Actions 等持续集成/持续部署(CI/CD)环境设计,用于 PHP 项目的调试、单元测试及代码覆盖率分析等测试场景。
镜像可从 Docker Hub 或 GitHub Container Registry 拉取。
以下是当前支持的镜像标签及其对应的 Dockerfile 源文件链接:
| 标签 | 对应 Dockerfile 链接 |
|---|---|
8.0 | 8.0/Dockerfile |
8.0-apache | 8.0/apache/Dockerfile |
7.4 | 7.4/Dockerfile |
7.4-apache | 7.4/apache/Dockerfile |
7.3 | 7.3/Dockerfile |
7.3-apache | 7.3/apache/Dockerfile |
7.2 | 7.2/Dockerfile |
7.2-apache | 7.2/apache/Dockerfile |
7.1 | 7.1/Dockerfile |
7.1-apache | 7.1/apache/Dockerfile |
7.0 | 7.0/Dockerfile |
7.0-apache | 7.0/apache/Dockerfile |
5.6 | 5.6/Dockerfile |
5.6-apache | 5.6/apache/Dockerfile |
5.5 | 5.5/Dockerfile |
5.5-apache | 5.5/apache/Dockerfile |
| PHP 版本 | Xdebug 版本 |
|---|---|
| 8.0 | 最新版 |
| 7.4 | 最新版 |
| 7.3 | 最新版 |
| 7.2 | 最新版 |
| 7.1 | 2.9.8 |
| 7.0 | 2.9.0 |
| 5.6 | 2.5.5 |
| 5.5 | 2.5.5 |
8.0):基于 PHP 官方 CLI 镜像构建,适用于命令行调试场景。-apache 标签(如 8.0-apache):基于 PHP 官方 Apache 镜像构建,适用于需要 Web 服务器环境的调试场景。该镜像已发布至 GitHub Marketplace,可直接作为 Action 集成到工作流中:
yaml- name: Xdebug Action uses: MilesChou/docker-xdebug@master
bash# 拉取 PHP 8.0 CLI 版本 docker pull mileschou/xdebug:8.0 # 拉取 PHP 7.4 Apache 版本 docker pull mileschou/xdebug:7.4-apache
挂载本地 PHP 项目目录,执行调试或测试命令:
bashdocker run -it --rm \ -v $(pwd):/app \ -w /app \ mileschou/xdebug:8.0 \ php -dxdebug.mode=debug -dxdebug.client_host=host.docker.internal script.php
启动 Apache 服务,通过宿主机端口访问调试:
bashdocker run -d --rm \ -p 8080:80 \ -v $(pwd):/var/www/html \ mileschou/xdebug:8.0-apache
创建 docker-compose.yml 文件:
yamlversion: '3' services: xdebug: image: mileschou/xdebug:8.0 volumes: - ./:/app working_dir: /app environment: - XDEBUG_MODE=coverage - XDEBUG_CLIENT_HOST=host.docker.internal command: php vendor/bin/phpunit --coverage-html coverage
启动服务:
bashdocker-compose up
Xdebug 的配置可通过 PHP 配置指令(-d 参数)或环境变量传递,常用配置参数:
xdebug.mode:设置 Xdebug 运行模式,可选值:debug(调试)、coverage(代码覆盖率)、develop(开发辅助)等。xdebug.client_host:调试客户端主机地址,Docker 环境中通常需设置为 host.docker.internal(Windows/macOS)或宿主机 IP(Linux)。xdebug.client_port:调试客户端端口,默认 9003。更多配置参数详见 Xdebug 官方文档。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务