最近几个月把所有项目都迁过来VSCode了(除了因为Unity调试问题反而用回了VisualStudio),PHP也就抛弃了最强的PhpStorm。 这段时间抽空在帮朋友处理PHP项目,然而从来没有用过PHP调试功能的我,突然发现一个项目的bug,但是却怎么也打印不出东西,并且又不抛出错误。这就很离谱。于是乎,又开始填补自己的知识盲区,咱也要用上PHP的调试功能。配置PhpStudy 我使用的是WNMP环境,web服务器是Nginx,Apache环境也是一样的流程。使用默认版本PHP 使用默认版本的PHP就相当简单了,直接打开XDebug调试组件即可。 配置好了就可以跳过下面的部分,直接去看配置VSCode。使用自定义版本PHP 要不说我这个人做东西怎么慢呢,因为经常想要知道为什么和别的方法。所以我并没有使用默认的PHP版本,而是顺便想要更新到PHP7。x的最新版。下载新版PHP 先到官方网站下载最新的PHP7。4。33https:windows。php。netdownload,我使用的是nts版本。下载完成以后放到phpstudy的相应目录下,例如X:pathophpstudyproExtensionsphp。文件夹名称修改为相同规则,例如php7。4。33nts。下载并配置XDebug 刚才下载的包里是不包含XDebug插件的,我们需要自己去下载和配置。 XDebug官方网站有个非常贴心的功能,就是将本地phpinfo输出的信息,粘贴到输入框后,可以帮你分析出要下载的版本,并给出下载地址。到网址https:xdebug。orgwizard输入,然后点击Analysemyphpinfo()output按钮即可。 把下载好的dll插件拷贝到刚才php7。4。33ntsext目录中,然后在php。ini中加上以下信息(直接加在最末尾即可,确保是在OPCache配置的后面):〔XDebug〕zendextensionD:phpstudyproExtensionsphpphp7。4。33ntsextphpxdebug。dllxdebug。modedebugxdebug。startwithrequestyesxdebug。clientport9000xdebug。remoteautostart1xdebug。collectparams1xdebug。collectreturn1xdebug。autotraceOnxdebug。remoteenableOnxdebug。remotehostlocalhostxdebug。remoteport9000xdebug。remotehandlerdbgp 记得把zendextension的值改为你插件实际所在的路径和实际的名称。测试配置是否成功 首先重启web服务器(无论Nginx还是Apache),然后用phpinfo()打印PHP信息,看是否有XDebug插件。 配置VSCode 确保VSCode中已经下载PHPDebug插件。可以搜索下载,也可以点击这里跳转后下载https:marketplace。visualstudio。comitems?itemNamexdebug。phpdebug。 打开文件首选项设置,在配置中添加如下内容:php。validate。executablePath:D:phpstudyproExtensionsphpphp7。4。33ntsphp。exe 最后直接点击运行和调试按钮,在创建的launch。json里添加一个配置,或者找到已存在的配置来修改:{name:ListenforXdebug,type:php,request:launch,port:9000}相关资源下载 老规矩,我在二机联盟知识星球存了一份我自己配置好的php7。4。33nts,只需要修改一下XDebugdll插件路径即可。同时这个包也配置好了Memcached,如果服务器没有安装,或者不需要启用,注释掉相关内容即可。 打开调试,一切豁然开朗,还顺手解决了原有框架的一个问题,舒坦 〔2022年12月25日原始发布于本作者博客〕 点击阅读原文可恢复文章内所有链接哦! 阅读原文:使用VSCode调试PhpStudy环境里的代码GSGUNDAM砍柴工