VSCode Xdebug断点调试PHP

Posted 一个人的孤独自白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VSCode Xdebug断点调试PHP相关的知识,希望对你有一定的参考价值。

步骤1:下载并安装XDebug

我这里演示的是用phpStudy集成环境,不过不管是不是集成环境都没什么关系,这里主要为php安装上XDebug扩展就可以了
安装XDebug扩展大多数人遇到的一个问题就是如何找对自己环境php匹配的XDebug版本,这个问题主要分成两个步骤
步骤1:输出phpinfo()信息,查看Architecture和Zend Extension Build这两个值,我这里显示的是X86和API220131226,NTS,VC11,把这两个值记录下来,还有一个需要记录的就是php的版本号,我这里的是5.6

 

 

 步骤2:打开https://xdebug.org/download.php网页(这个网站打开可能有点慢,耐心等待一下),然后找对相应的XDebug版本

 

 

 上面两个步骤是在windows操作系统下下载XDebug扩展,如果是linux操作系统的话,直接下载对应版本的source文件,然后编译安装

 

 

 

经过上面的步骤已经把XDebug下载下来了,一般情况下,都会把下载下来的DLL文件放到相应的php扩展目录下,即php对应的ext文件夹下。
当然也可以不放,不过在配置XDebug模块的zend_extension配置时就要写上全路径
我这里就把dll文件放到php扩展目录下,大家要找准自己的php扩展目录

 

 步骤2:配置php.ini文件的XDebug模块

    好了,完成步骤1,现在只需要再配置一下XDebug模块就安装完成了
    XDebug主要配置的有下面的配置,当然你也可以另外添加更多的XDebug配置
    [XDebug]
    zend_extension=php_xdebug-2.5.5-5.6-vc11-nts.dll     ; 如果步骤1的第二个小步骤没进行的话,这里就要填全路径了
    xdebug.remote_enable = 1    ;开启远程调试功能
    xdebug.remote_autostart = 1    ;这个配置是比较重要的一个配置
    xdebug.remote_handler = "dbgp"
    xdebug.remote_port = "9001"   ;端口号
    xdebug.remote_host = "127.0.0.1" ;远程调试的ip地址,即你自己的本机ip
    在配置xdebug.remote_autostart = 1时这里遇到一个坑,就是XDebug的默认端口号是9000.如果不配置端口号使用默认端口号就会和nginx的端口号冲突,所以下面要配置一下端口号为9001,要不然会导致调试的时候假死的情况
    配置完上面的配置,然后重启环境,然后再打印出phpinfo()的信息,然后搜索一下XDebug是否存在,如果存在那么就安装成功了
    当然直接使用命令php -m 查看是否有XDebug更加简便

 

 如下图设置,然后重启服务器,查看phpinfo信息

 

 步骤3:Visual Studio Code安装php debug插件,并且配置

 

 然后去到调试页面,配置一下json文件,这里记得端口号要对应上面XDebug9001端口

 

 步骤4:进行调试

ok,完成上面的步骤,咱们就开始断点调试了,设置好断点,然后安装F5开启调试,然后用浏览器访问链接或api接口,返回vscode查看

 

 

以上是关于VSCode Xdebug断点调试PHP的主要内容,如果未能解决你的问题,请参考以下文章

xdebug3+php8.0+vscode断点调试php程序

使用VS Code断点调试PHP

VSCode中设置断点调试PHP

xdebug未经验证的断点

使用 phpStudy + VSCODE 进行 PHP 断点调试

PHP mac xdebug配置