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

最佳实践

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

参考资源

相关推荐
Chef_Chen3 小时前
数据科学每日总结--Day25--区块链
开发语言·php
哈里谢顿3 小时前
Docker 中快速启动 Prometheus + Grafana操作指南(二)
docker
chjqxxxx3 小时前
php使用ffmpeg实现视频随机截图并转成图片
ffmpeg·php·音视频
小镇学者3 小时前
【PHP】PHP WebShell(网页木马)分析
android·开发语言·php
醇氧3 小时前
Mac 安装 Docker Desktop
macos·docker·容器
哈里谢顿4 小时前
Docker 中快速启动 Prometheus + Grafana操作指南
docker
Molesidy5 小时前
【VSCode】VSCode的个人习惯设置--个人记录
ide·vscode·编辑器
come112345 小时前
现代前端技术栈关系详解 (PHP 开发者特供版)
开发语言·前端·php
人工智能训练6 小时前
Windows中如何将Docker安装在E盘并将Docker的镜像和容器存储在E盘的安装目录下
linux·运维·前端·人工智能·windows·docker·容器
k***82516 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker