PhpStorm 调试 (Xdebug版)
一、版本说明
PhpStorm: PhpStorm 2022.3.1
php版本:8.2.6
Xdebug:php_xdebug-3.2.1-8.2-vs16-x86_64.dll
二、配置Xdebug
1. 下载Xdebug文件,根据自己的电脑系统版本和php版本,下载对应的Xdebug扩展,
带TS 的为线程安全版本,(the safe),将下载的文件放置到php安装目录的ext下。
下载地址:Xdebug下载地址
2. 编辑php.ini 配置,并保存
打开php安装的根目录下,找到php.ini,打开,按照当前PhpStorm官网说明,添加相关配置
官方地址:Configure Xdebug | PhpStorm Documentation
本人配置如下:
[xdebug]zend_extension = "C:\Program Files\php-8.2.6-Win32-vs16-x64\ext\php_xdebug-3.2.1-8.2-vs16-x86_64.dll"xdebug.mode = debugxdebug.client_host=127.0.0.1xdebug.client_port ="9003"xdebug.start_upon_error = yes
xdebug.client_port ="9003" 解释:因为我本地用nginx部署php,所以启动cgi的时候,占用了9000端口,所以改用9003,这个端口,跟下面PhpStorm中Xdebug的配置要保持一致。
2. 验证php.ini中的Xdebug配置
官方提供了两种方式,第一种是最简单的,第一种就ok。
在命令行中,输入 php --version
三、配置PhpStorm(以中文版本为例,英文可参考官网)
1. 点击"文件"->"设置"->"PHP",打开设置弹窗
(1) 选择PHP语言级别,也就当前php版本,选择CLI解释器,如果没有,点击黄色框添加
(2)选择CLI解释器,弹窗如下图,按照步骤,新建新的解释器,填一个自己喜欢的名字,在PHP可执行文件中,找到自己php安装的目录,选择php.exe,最后配置如下图即可。
点击"文件"->"设置"->"PHP"->"服务器",点击+号新建,填写一个喜欢的名字,主机不要写,主机不要写,主机不要写,端口写自己php服务或文件暴露的端口,我这里是8083,默认是80端口,选择,Xdebug调试器。
点击"文件"->"设置"->"PHP"->"调试",
(1)第一步中,我们已经安装了Xdebug,直接点击验证。
这里选择第二种验证方式,验证脚本的url为我本地localhost映射的一个本地域名,可以理解为http://localhost/testNgPhp
(2)点击开始侦听,图标如下图是已开启
(3)配置Xdebug,这里配置9003端口,与php.ini中的 xdebug.client_port ="9003" 保持一致,具体为什么用9003,而不是9000,上面已经解释过了。
四、配置发起端
如果是页面调试,则需要配置对应的浏览器插件,chrome或者fireFox,下面是地址,chrome需要翻墙
不过没事,我已经下载了chrome的扩展,下载链接如下。
配置chrome插件 浏览器访问chrome://extensions/
(1)直接将xdebug helper-1.4.3.crx 拖拽到chrome插件管理中。如果出现如下错误
则下载如下文件,解压,在扩展程序中,点击加载已解压的扩展程序,选择刚解压的文件夹
成功之后,如下图
五、使用
chrome使用,
(1)打开要调试的网页,在右上角打开调试,选择debug
(2)在PhpStorm中,直接打断点即可。
2. postMan接口调用使用
深入了解后可以知道,chrome插件最终也只是在网页中加入了特殊的cookies来实现的,所以照猫画虎,打开Postman,新建一个请求,打开cookies管理器,添加你的域名,在域名下添加如下cookies,直接发送请求,即可直达断点。
XDEBUG_SESSION=PHPSTORM;
来源地址:https://blog.csdn.net/u010017719/article/details/131006859
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341