当前位置: 首页 > news >正文

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

VSCode PHP调试配置指南

概述

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

前置要求

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

本地调试配置

1. 安装Xdebug

# Ubuntu/Debian
sudo apt-get install php-xdebug# MacOS
brew install php-xdebug# 或使用pecl
pecl install xdebug

2. 配置php.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:

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

Docker调试配置

1. Docker运行命令

docker run -d \-v F:/WWW:/www \-p 80:80 \-p 9003:9003 \your-php-image

2. 容器内Xdebug配置

[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路径映射

{"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. 性能优化

; 生产环境禁用
xdebug.mode=off; 按需启用
xdebug.start_with_request=trigger
xdebug.trigger_value=VSCODE

使用步骤

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

最佳实践

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

参考资源

  • Xdebug文档
  • VSCode PHP Debug扩展
http://www.dtcms.com/a/309721.html

相关文章:

  • 嵌入式学习的第四十天-51单片机
  • Vue模板语法详解:从基础到进阶的响应式绑定指南2
  • 【AI论文】大语言模型量化的几何原理:将GPTQ视为Babai最近平面算法
  • 开发者体验如何度量?
  • springboot在线法律服务平台-计算机毕业设计源码45635
  • Context API
  • Class29ResNet
  • 机器学习——逻辑回归(LogisticRegression)的核心参数:以约会数据集为例
  • 数智管理学(四十三)
  • Python LRU缓存应用与示例
  • C++拷贝构造函数
  • rhcsa笔记大全
  • 【2025/08/01】GitHub 今日热门项目
  • PendingIntent的flag和原理解析
  • 【Halcon 】Halcon 实战:如何为 XLD 模板添加极性信息以提升匹配精度?
  • Linux系统编程Day3-- Linux常用操作(续)
  • 【BUUCTF系列】[GXYCTF2019]Ping Ping Ping 1
  • 【Linux我做主】细说环境变量
  • 鸿蒙智能居家养老系统构思(续二)—— 适老化烹饪中心详细构思
  • 前端渲染三国杀:SSR、SPA、SSG
  • SpringBoot3.x入门到精通系列:1.4 项目结构与核心注解
  • 三十九、【扩展工具篇】Allpairspy 组合用例生成器:智能设计高效测试集
  • spring中自带的执行定时任务的注解是什么?
  • 铁皮矫平机是什么?
  • 掌握长尾关键词提升SEO
  • 4-verilog简单状态机
  • 使用mybatis生成器生成实体类mapper和查询参数文件,简单spring mvc 项目。使用log4j输出日志到控制台和文件中。使用配置文件注册Bean
  • 【U8+】删除部门的时候提示已经在总账(辅助总账)中使用,不可删除。
  • 从0到1学PHP(十三):PHP 安全编程:构建稳固的应用防线
  • (一)LoRA微调BERT:为何在单分类任务中表现优异,而在多分类任务中效果不佳?