在 VSCode 中调试 PHP 代码主要依赖 XDebug 扩展和 PHP Debug 插件,以下是详细步骤:
php -v
确认。PHP Intelephense
)。自动安装(推荐):
运行以下命令,根据提示操作:
php -r "copy('https://xdebug.org/wizard', 'xdebug-wizard.php');"
php xdebug-wizard.php
脚本会分析你的环境并给出安装指令(如下载的 DLL 或 SO 文件路径)。
手动安装:
phpinfo()
的输出,获取定制化安装指南。xdebug.so
(Linux/Mac)或 xdebug.dll
(Windows)放到 PHP 扩展目录。php.ini
(通过 php --ini
查找路径):[XDebug]
zend_extension=path/to/xdebug.so # 替换为实际路径
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9003 # 默认端口
xdebug.idekey=VSCODE
php --version
,输出中应包含 with XDebug
。phpinfo.php
文件: phpinfo();
浏览器访问该文件,搜索 XDebug
确认已加载。PHP Debug
(作者:XDebug),安装并重启 VSCode。Ctrl+Shift+D
) → 顶部点击 “创建 launch.json”。{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}" // 关键!映射服务器路径到本地
}
}
]
}
pathMappings
:如果代码在远程服务器或 Docker 中,需正确映射服务器路径到本地项目路径(如 /var/www/html
→ C:\project
)。F5
或点击 绿色播放按钮 启动调试。http://localhost/test.php
),触发断点。pathMappings
:确保服务器路径与本地路径正确映射。php -m | grep xdebug
(Linux/Mac)或 php -m | findstr xdebug
(Windows),确认输出 xdebug
。php.ini
中添加:xdebug.log=/tmp/xdebug.log # Linux/Mac
xdebug.log=C:\xdebug.log # Windows
重启服务后检查日志文件。9003
,如果被占用,修改 php.ini
和 launch.json
中的 port
为其他值(如 9000
)。php.ini
中调整:xdebug.remote_timeout=600 # 超时时间(秒)
xdebug.max_nesting_level=500 # 提高递归层数限制
在 launch.json
中添加配置:
{
"name": "Launch CLI Script",
"type": "php",
"request": "launch",
"program": "${file}", // 调试当前文件
"cwd": "${workspaceFolder}"
}
然后打开终端,直接按 F5
调试。
php.ini
配置如下:xdebug.client_host=host.docker.internal # 或宿主机的本地 IP
xdebug.client_port=9003
launch.json
中正确映射容器路径:"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
F10
)、进入函数(F11
)。xdebug.start_with_request=trigger
)。遇到具体问题可以根据你的环境(如 Windows/WSL/Docker)和错误日志,进一步帮你排查! ️