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. 代码执行到断点时自动跳转

最佳实践

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

参考资源

相关推荐
Patrick_Wilson3 天前
从「改个端口」到 502:Next.js on k8s 的容器端口、Service 映射与 env 覆盖
docker·kubernetes·next.js
Suroy3 天前
DockerView-Go:用 Go 写一个终端 Docker 监控工具,顺便做了个 Web 仪表盘
docker
云恒要逆袭3 天前
运行你的第一个Docker容器
后端·docker·容器
宋均浩4 天前
# Docker 镜像瘦身实战:从 1.2G 到 80MB 的五个优化步骤
ci/cd·docker
程序员老赵5 天前
10 分钟部署 OpenCode:Docker 一键安装,浏览器打开就能用 AI 写代码(附完整命令与排错)
docker·容器·ai编程
WangMingHua1115 天前
LM Studio Docker 部署——本地大模型一键启动
docker
曲幽6 天前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
两个人的幸福7 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
武子康8 天前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
BingoGo9 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php