Visual Studio Code如何使用XDebug进行php断点调试?

Posted 果然朝辉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio Code如何使用XDebug进行php断点调试?相关的知识,希望对你有一定的参考价值。

一直都想把php断点调试记录下来,由于拖延症极其严重导致现在才写。
好了,刚去猛喝了几碗心灵鸡汤,趁着这股劲把“Visual Studio Code如何使用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更加简便

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

    按上面的步骤弄好了服务器之后,那么就要弄vscode,vscode主要安装一下插件再配置一下即可
    安装插件php debug

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

步骤4:进行调试

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



    大功告成,鸡汤效果时效到了~~~

以上是关于Visual Studio Code如何使用XDebug进行php断点调试?的主要内容,如果未能解决你的问题,请参考以下文章

visual studio code如何运行c

如何使用 Visual Studio Code 显示隐藏文件

如何使用 Visual Studio Code 启用 lintr

如何评价Visual Studio Code

如何使用 Visual Studio Code IntelliSense 显示 Flutter Widget 文档?

Visual Studio android 模拟器无法完全启动