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

最佳实践

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

参考资源

相关推荐
lang201509282 小时前
使用 Docker 部署 Apache RocketMQ
docker·apache·rocketmq
jack-hui63 小时前
docker配置gpu运行环境:linux离线安装nvidia-container,避免网络问题
linux·docker·容器
weixin_437499923 小时前
【PHP 自动加载机制详解】
php
网安Ruler4 小时前
Web开发-PHP应用&Cookie脆弱&Session固定&Token唯一&身份验证&数据库通讯
前端·数据库·网络安全·php·渗透·红队
William.csj4 小时前
VSCode——插件分享:Markdown PDF
vscode·pdf·markdown
conkl5 小时前
嵌入式 Linux 深度解析:架构、原理与工程实践(增强版)
linux·运维·服务器·架构·php·底层·堆栈
网安Ruler5 小时前
Web开发-PHP应用&TP框架&MVC模型&路由访问&模版渲染&安全写法&版本漏洞
前端·php·mvc
七七软件开发7 小时前
一对一交友小程序 / APP 系统架构分析
java·python·小程序·系统架构·php
一念&8 小时前
计算机网络中的socket是什么?编程语言中的socket编程又是什么?python的socket编程又该如何用?
python·计算机网络·php