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