在 VsCode 下使用 Xdebug 调试 PHP

icy2003 程序 2020-03-30 18:14:00 2055 0条

宇宙最强编辑器 VsCode + 世界上最好的语言 PHP 的组合肯定少不了 Xdebug

43660-zbl3dyqnb5p.png

安装 Xdebug

Windows 下我使用的是 PHPStudy(现在改名为“小皮面板”),安装后自带各种扩展。

Linux(如 Centos) 下可以使用 yum 安装 PHP 和扩展,介绍请看这里(讲道理没人会在 Linux 上用 Xdebug 吧)。

VsCode 配置

在应用商店搜索 “Xdebug” 安装。

12775-cg6okmtqvio.png

切换到调试,创建 “launch.json” 配置,在弹出的下拉里选择 PHP 环境,不对 “launch.json” 作任何修改。

59670-iisg35rzjsq.png
12746-7jt6ptufnh6.png

Xdebug 配置

如图直接编辑 php.ini。注意,小皮面板有 bug,不论你是什么版本的 PHP,在小皮面板任何地方开启 Xdebug 都会导致 PHP 无法使用(有可能是我电脑这样,但是直接改配置是绝对没问题的)!修改 php.ini 后需要重启 PHP。

99514-692bsrknlua.png

配置如下:

[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 会见到如下提示:

54296-o1ehcws2ycm.png

调试

在 VsCode 里切换到调试,点击 “Linsten for XDebug” 上的三角形,或者 F5,就可以开启调试。

22122-q8n3fjkyoq.png

在需要打断点的地方打上断点,用浏览器或者命令行指定你的 PHP,就可以调试了。

69271-svew6jo6dh.png

图上从左到右的按钮分别是:

  1. 运行(F5),直到遇到下一个断点才会停下。
  2. 逐行步过运行(F10),遇到函数不会进入函数里。
  3. 逐行步入运行(F11),遇到函数会进入函数里。
  4. 跳出(Shift+F11),比如在函数里则会跳出函数。
  5. 重新调试(Ctrl+Shift+F5)。
  6. 停止调试(Shift+F5)。

注意事项

  1. VsCode 需要打开文件夹(项目)才能进行调试
  2. 虽然小皮面板没法正常打开 Xdebug 扩展,但是可以用小皮面板重启来重新加载 php.ini
  3. 请将 php 加到环境变量里
  4. 开启 Xdebug 后如果没有调试代码,运行速度会变慢,生产或者不调试时请把 Xdebug 关闭,关闭方法就是注释掉 php.ini 路径那一行再重启 PHP
标签: php

非特殊说明,本博所有文章均为博主原创。