【PHP】XDebug+VS Code调试PHP页面

前言

最近卸载了IDEA,因为没有激活码了……
因此我换上了Visual StudioXamarin来使用C#开发Android应用,但IDEA卸载了,所以自然也不能用IDEA来调试我的PHP页面了,所以不得不用Visual Studio Code来调试我写的PHP页面了。

安装XDebug插件

获取PHP版本信息

不同的PHP对应了不同的XDebug版本,如果版本不对,我也不知道会发生啥,反正按自己的版本下载就对了!
我们现在PHP里输出phpinfo()信息,查看ArchitectureZend Extension Build这两个值
ArchitectureZend Extension Build
我这里显示的是X64API320190902,TS,VC15,记录这两个值和自己的PHP版本。

下载对应的XDebug插件

下载地址:插件下载地址
从图里就可以看到了,x64对应下载64-bit版本,PHP版本务必对应,然后Zend Extension Build那里记得看是否TS以及相应的VC版本,然后我们把它下载下来就行了。
版本对应关系
Windows系统这里可以直接下载dll,如果是linux请自行下载编译。
Linux的XDebug

插件安装

一般情况下,都会把下载下来的dll文件放到相应的PHP扩展目录下,即PHP对应的ext文件夹下。
当然也可以不放,因为在配置XDebug模块的zend_extension配置时就要写上完整的路径。
我个人比较守规矩,所以就把dll文件放到PHP扩展目录下。
PHP插件目录

配置文件设置

插件放到文件夹中后,就需要我们配置php.ini文件的XDebug模块设置。
下面我给出我的配置,不过完整的XDebug配置远不止这些参数,如果需要自己修改其他设置,可以百度一下。
这边请注意xdebug.remote_port=9000端口号这条语句,这句话对应了XDebug的端口号,所以请务必记住自己自定义的端口号,我这边定义的端口号为9000。

;xdebug支持
[xdebug]
zend_extension ="安装PHP的根目录/ext/php_xdebug-2.9.2-7.4-vc15-x86_64.dll"

xdebug.remote_enable = On
xdebug.remote_autostart = On
;启用性能检测分析
xdebug.profiler_enable = On
;启用代码自动跟踪
xdebug.auto_trace=On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = cachegrind.out.%t.%p
;指定性能分析文件的存放目录
xdebug.profiler_output_dir ="安装PHP的根目录/tmp"
xdebug.show_local_vars=0

;配置端口和监听的域名
xdebug.remote_port= 9000
xdebug.remote_host="localhost"

检查配置是否生效

重启自己的环境,LNMP或者其他的环境,实在不会就重启解决所有问题。
然后我们再次打印出phpinfo()的信息,如果出现了XDebug的相关信息则表示安装成功,否则检查XDebug安装是否成功。
XDebug安装成功

PHP Debug for VS Code

按上面的步骤弄好了,紧接着安装VS CodePHP Debug插件。
PHP Debug插件
紧接着来到调试页面,进行对应launch.json的设置,这里记得端口号要对应上面XDebug设置里的端口号,我这边是9000和上文对应。

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

断点调试

到了这一步,自己写PHP页面进行测试吧,记得在服务器网页的根目录底下断点测试,不然没用。
如有不对,请批评指正。

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页