篇幅分:
- xdebug的安装和配置,内容转载:www.cnblogs.com/wlwman/p/17…
- phpstorm2023的配置
- 断点调试, 使用postman, 应为浏览器调式post接口比较麻烦
环境介绍:php8.1 + windows11 + phpstorm2023 + postman
*单机调试原理图,来自网络截图,帮助很大
一、xdebug3的安装和配置
1.1 下载Xdebug,要下载与PHP对应版本的Xdebug
网站提供了一个自动分析系统对应的xdebug版本 ,网址是:Xdebug: Support — Tailored Installation Instructions
在自己的页面或者接口中获取phpinfo()的信息,需要粘贴进去php版本信息,如下图;
<?php phpinfo(); ?>
ctrl+A全选这个页面的信息,然后粘贴到Xdebug: Support — Tailored Installation Instructions 里
就可以看到对应你版本的xdebug下载
按照上面提示的步骤,把文件重命名为 php_xdebug.dll 然后放在对应版本的php\ext目录里面。
一般php8版本用的是xdebug3。
1.2 设置php.ini
打开php.ini文件,把xdebug的配置加进去 看安装的xdebug版本是多少,2和3有些不一样
说明一下:
- xdebug.idekey=PHPSTORM // 请写入PHPSTORM,因为很多教程都是这个,方便,不需要另辟新径
- xdebug.client_host=www.yesttp.com // 这个host用你的域名,我的是本地宝塔设置的,也可以用域名
- xdebug.remote_xxxx // 这些参数我不知道什么意思,有哪位能懂的,麻烦告诉下?
XDEBUG 3
[Xdebug]
zend_extension=php_xdebug.dll
xdebug.mode=debug,develop
xdebug.idekey=PHPSTORM
xdebug.client_port=9005
xdebug.client_host=www.yesttp.com
xdebug.remote_handler=dbgp
xdebug.remote_cookie_expire_time=3600
xdebug.remote_enable=true
xdebug.remote_autostart=1
xdebug.remote_host="127.0.0.1"
xdebug.discover_client_host=true
xdebug.start_with_request=yes
二、phpstorm2023的配置
2.1 设置DBGp 这个很重要,打开设置,File->Settings->PHP->Debug->DBGp, 填写php.ini中设置的内容
2.2 打开设置,File->Settings->PHP->Debug,填写php.ini中设置的端口号
2.3 设置Servers,Name随便起一个名字,Host填写本地host里配置的地址
三. 断点调试
3.1 phpstorm中,设置Run/Debug Configurations
编辑器右上角,选择Edit Configurations...
3.2 添加一个配置,用在网页调试多数用PHP Web Page配置, 网页调试注意浏览器加xdebug的插件
但是我现在用postman调试,使用的是PHP Build-in Web Server, 设置内容如下 更方便
我的是thinkphp项目, 所以Document root: 路径是项目根目录\public
3.3 Run勾选上Break at first line in PHP scripts
3.4 postman添加 cookie=XDEBUG_SESSION=PHPSTORM; XDEBUG_SESSION_START=PHPSTORM;
3.5 打断点,开启debug监听
配置完成。
3.6 postman发送请求,成功了
注意:
-
一定要找对xdebug的版本, 我以前断点成功,可能期间更新过,这次怎么都不成功,没有想过是xdebug与php版本的不一致,耽误一天的时间
-
有时配置成功了,没有效果,试试重启一下php, nginx
-
如果不不确定是否成功xdebug配置可以验证一下: