宇宙最强编辑器 VsCode + 世界上最好的语言 PHP 的组合肯定少不了 Xdebug
安装 Xdebug
Windows 下我使用的是 PHPStudy(现在改名为“小皮面板”),安装后自带各种扩展。
Linux(如 Centos) 下可以使用 yum 安装 PHP 和扩展,介绍请看这里(讲道理没人会在 Linux 上用 Xdebug 吧)。
VsCode 配置
在应用商店搜索 “Xdebug” 安装。
切换到调试,创建 “launch.json” 配置,在弹出的下拉里选择 PHP 环境,不对 “launch.json” 作任何修改。
Xdebug 配置
如图直接编辑 php.ini。注意,小皮面板有 bug,不论你是什么版本的 PHP,在小皮面板任何地方开启 Xdebug 都会导致 PHP 无法使用(有可能是我电脑这样,但是直接改配置是绝对没问题的)!修改 php.ini 后需要重启 PHP。
配置如下:
[Xdebug]
zend_extension=php_xdebug.dll
xdebug.remote_enable = 1 # 开启调试
xdebug.remote_autostart = 1
xdebug.remote_mode=req
xdebug.remote_handler = "dbgp"
xdebug.remote_port = "9000" # 9000 端口会和 nginx 冲突,我在 windows 都是用 apache,如果改了端口记得修改 launch.json
xdebug.remote_host = "localhost" # 监听的地址(浏览器)
如果 Xdebug 开启成功,在命令行里输入 php -m
会见到如下提示:
调试
在 VsCode 里切换到调试,点击 “Linsten for XDebug” 上的三角形,或者 F5,就可以开启调试。
在需要打断点的地方打上断点,用浏览器或者命令行指定你的 PHP,就可以调试了。
图上从左到右的按钮分别是:
- 运行(F5),直到遇到下一个断点才会停下。
- 逐行步过运行(F10),遇到函数不会进入函数里。
- 逐行步入运行(F11),遇到函数会进入函数里。
- 跳出(Shift+F11),比如在函数里则会跳出函数。
- 重新调试(Ctrl+Shift+F5)。
- 停止调试(Shift+F5)。
注意事项
- VsCode 需要打开文件夹(项目)才能进行调试
- 虽然小皮面板没法正常打开 Xdebug 扩展,但是可以用小皮面板重启来重新加载 php.ini
- 请将 php 加到环境变量里
- 开启 Xdebug 后如果没有调试代码,运行速度会变慢,生产或者不调试时请把 Xdebug 关闭,关闭方法就是注释掉 php.ini 路径那一行再重启 PHP