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
使用步骤
- 在代码中设置断点
- 启动调试会话
- 通过浏览器访问应用
- 代码执行到断点时自动跳转
最佳实践
- 合理使用断点,避免过多影响性能
- 启用日志便于排查问题
- 团队统一调试配置
- 生产环境禁用调试功能
参考资源
- Xdebug文档
- VSCode PHP Debug扩展