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

最佳实践

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

参考资源

相关推荐
苏渡苇21 小时前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门
思茂信息1 天前
CST交叉cable的串扰(crosstalk)仿真
服务器·开发语言·人工智能·php·cst
dyxal1 天前
VS Code 终端疑难杂症排查:为什么 PowerShell 无法启动?
vscode
【ql君】qlexcel1 天前
Visual Studio Code开发STM32设置头文件宏定义uint32_t报错
vscode·stm32·vs code·头文件宏定义·uint32_t报错·uint8_t报错·uint16_t报错
琉璃榴1 天前
Visual Studio Code连接远程服务器
服务器·vscode·github
深念Y1 天前
赛米尼M02/海纳斯HiNAS系统-WiFi驱动安装教程
运维·服务器·网络·docker·nas·机顶盒·hinas
刘某的Cloud1 天前
docker commit 封装镜像
运维·docker·容器·image
jieyucx1 天前
Golang 完整安装与 VSCode 开发环境搭建教程
开发语言·vscode·golang
古城小栈1 天前
Docker 下配置 Pgsql 主从复制详细步骤指南
运维·docker·容器
何中应1 天前
Docker-Compose环境配置&使用
运维·docker·容器