vscode cursor配置php的debug,docker里面debug

VSCode PHP调试配置指南

概述

本文介绍如何在VSCode中配置PHP调试环境,包括本地和Docker环境。

前置要求

  • VSCode
  • PHP 7.0+
  • Xdebug扩展
  • PHP Debug VSCode扩展

本地调试配置

1. 安装Xdebug

bash 复制代码
# Ubuntu/Debian
sudo apt-get install php-xdebug

# MacOS
brew install php-xdebug

# 或使用pecl
pecl install xdebug

2. 配置php.ini

ini 复制代码
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9003
xdebug.client_host=127.0.0.1
xdebug.log="/path/to/xdebug.log"
xdebug.log_level=7

3. VSCode配置

创建 .vscode/launch.json:

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "log": true
        }
    ]
}

Docker调试配置

1. Docker运行命令

bash 复制代码
docker run -d \
  -v F:/WWW:/www \
  -p 80:80 \
  -p 9003:9003 \
  your-php-image

2. 容器内Xdebug配置

ini 复制代码
[xdebug]
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9003
xdebug.client_host=host.docker.internal
xdebug.log="/var/log/php/xdebug.log"
xdebug.log_level=7
xdebug.idekey=VSCODE

3. VSCode路径映射

json 复制代码
{
    "name": "Docker Xdebug",
    "type": "php",
    "request": "launch",
    "port": 9003,
    "pathMappings": {
        "/www/anyu-xxx": "${workspaceRoot}"
    },
    "log": true
}

常见问题

1. 断点不生效

  • 检查Xdebug是否安装: php -m | grep xdebug
  • 检查端口: netstat -an | grep 9003
  • 查看日志: tail -f /var/log/php/xdebug.log

2. 路径映射错误

确保 pathMappings 配置正确,容器内外路径对应关系准确。

3. 性能优化

ini 复制代码
; 生产环境禁用
xdebug.mode=off

; 按需启用
xdebug.start_with_request=trigger
xdebug.trigger_value=VSCODE

使用步骤

  1. 在代码中设置断点
  2. 启动调试会话
  3. 通过浏览器访问应用
  4. 代码执行到断点时自动跳转

最佳实践

  • 合理使用断点,避免过多影响性能
  • 启用日志便于排查问题
  • 团队统一调试配置
  • 生产环境禁用调试功能

参考资源

相关推荐
Sheffield19 小时前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield1 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽1 天前
win10下运行Start Broker and Proxy报错解决
docker
JaguarJack1 天前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo1 天前
FrankenPHP 原生支持 Windows 了
后端·php
用户13573999256602 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h2 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔2 天前
通过 Docker 创建开发环境
docker·开发环境
JaguarJack2 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo2 天前
PHP 的异步编程 该怎么选择
后端·php