vscode配置Xdebug调试YIi2接口或者浏览器

说明

vscode是个神奇的玩意,我以前开发基本是通过phpstorm开发,但是涉及的语言比较杂,感觉还是vscode比较万金油,软件又不用破解,想做什么编码开发直接哐哐哐下载对应插件,全栈不是打杂就是架构师,各位细品,程序员的心酸~~

TIP: 还是那句话,磨刀不误砍柴功,在php开发过程中,难免会遇到深沉的逻辑分支,这个就需要需要断点监听来打断点来逐一验证,重点还是可以查看断点的上下文变量参数,这不比写日志和print_r输出来得香么,提一句,如果是基于markdown开发的,debug会冲突的,记得~~

准备工作:

系统:windows10 专业版64X
vscode:v1.8.3.0(建议下载最新版本,因为一些AI插件需要最高版本vscode支持)
phpstudy:v8.1 (nginx+php,php用的7.2.9nts)
PHP Debug:v1.33.1(vscode插件)
php_xdebug-3.1.6-7.2-vc15-nts-x86_64.dll:php拓展(不知道怎么下载,可以看我之前的文章《phpStorm配置Xdebug调试YIi2接口或者浏览器》)

开始

1、配置php.ini配置
文件的路径等请根据自己本地电脑路径来,环境变量顺便也加上去

[XDebug]
zend_extension="G:\tool\phpstudyV8.1\Extensions\php\php7.2.9nts\ext\php_xdebug-3.1.6-7.2-vc15-nts-x86_64.dll"
xdebug.mode = debug
xdebug.client_port = 9100
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
xdebug.remote_handler = "dbgp"
xdebug.idekey = "vscode"
xdebug.client_host = "localhost"

xdebug.log ="G:\tool\phpstudyV8.1\Extensions\tmp\xdebug\php.log"
xdebug.log_level = 7
xdebug.profiler_append = 0
xdebug.start_with_request = yes
xdebug.use_compression = false
image.png
image.png

2、vscode安装PHP Debug插件

image.png

3、拓展的基本设置
这里还需要vscode指定php运行地址,我把配置放出来,大家根据自己情况调整,注意端口号必须跟php.ini配置的一样,不然对不上暗号~~

    "Codegeex.Privacy": false,
    "php.validate.executablePath": "G:/tool/phpstudyV8.1/Extensions/php/php7.2.9nts/php.exe",
    "php.debug.executablePath": "G:/tool/phpstudyV8.1/Extensions/php/php7.2.9nts/php.exe",
    "workbench.startupEditor": "none",
    "Codegeex.Comment.LanguagePreference": "zh-CN",
    "Codegeex.OnlyKeyControl": true,
    "security.workspace.trust.untrustedFiles": "open",
    "launch": {
        "configurations": [
            {
                "name": "Launch current script in console",
                "type": "php",
                "request": "launch",
                "program": "${file}",
                "cwd": "${fileDirname}",
                "externalConsole": false,
                "port": 9100
            },
            {
                "name": "Listen for XDebug",
                "type": "php",
                "request": "launch",
                "port": 9100
            }
        ]
    },
    "php.executablePath": "G:/tool/phpstudyV8.1/Extensions/php/php7.2.9nts/php.exe",
image.png

4、实验断点
找个项目php文件在编码区域点击增加断点标记(nginx+php的站点自己配置应该可以不用我教了吧),F5启动断点

对应php版本.png
image.png

这里我是直接在站点入口文件打了断点,所以一启动调试就进入断点了,如果大家是调试接口的,可以在接口逻辑代码打断点,然后通过接口调试工具请求接口,或者根据浏览器请求页面,页面请求接口,都可以触发这个vscode的断点的


vscode断点开启.png
接口请求.png
vscode断点时效果.png

5、复盘

5.1、php版本必须对应php_xdebug的拓展,不然不行的
5.2、php.ini的xdebug拓展配置中的端口号必须跟vscode那边的对应上
5.3、php_xdebug的拓展注意下是否2.0x的版本,还是3.0x的版本,写法有区别
5.4、配置这个新手的也就花费半天而已,搞好了之后写代码完全不慌,代码不怕写错,就怕写着写着逻辑就乱了,通过断点各个分支跑一跑,路子就宽了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容