前言
最近卸载了IDEA
,因为没有激活码了……
因此我换上了Visual Studio
和Xamarin
来使用C#
开发Android
应用,但IDEA
卸载了,所以自然也不能用IDEA
来调试我的PHP
页面了,所以不得不用Visual Studio Code
来调试我写的PHP页面了。
安装XDebug插件
获取PHP版本信息
不同的PHP
对应了不同的XDebug
版本,如果版本不对,我也不知道会发生啥,反正按自己的版本下载就对了!
我们现在PHP
里输出phpinfo()
信息,查看Architecture
和Zend Extension Build
这两个值
我这里显示的是X64
和API320190902,TS,VC15
,记录这两个值和自己的PHP
版本。
下载对应的XDebug插件
下载地址:插件下载地址
从图里就可以看到了,x64
对应下载64-bit
版本,PHP
版本务必对应,然后Zend Extension Build
那里记得看是否TS
以及相应的VC
版本,然后我们把它下载下来就行了。
Windows
系统这里可以直接下载dll
,如果是linux
请自行下载编译。
插件安装
一般情况下,都会把下载下来的dll
文件放到相应的PHP
扩展目录下,即PHP
对应的ext
文件夹下。
当然也可以不放,因为在配置XDebug
模块的zend_extension
配置时就要写上完整的路径。
我个人比较守规矩,所以就把dll
文件放到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
安装是否成功。
PHP Debug for VS Code
按上面的步骤弄好了,紧接着安装VS Code
的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页面进行测试吧,记得在服务器网页的根目录底下断点测试,不然没用。
如有不对,请批评指正。