Phpstorm+Phpstudy 搭建xdebug调试

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 案例分析 发布于2年前 更新于2年前 1.5K+

文章已超过796天无更新,请确认内容是否可用

在日常的工作或者学习中,项目调试是是开发过程中不可缺少的存在,他不仅能帮你更直接的作为一个观察者查阅项目运行流程,更重要的能及时排查接口以及bug的问题出现点,以下简单介绍如何使用phpstorm+xdebug调试项目程序

//  当前教程使用环境
Phpstudy:V8
Php:8.0
Laravel:8.5
PhpStorm:2021.3
Xdebug:3

一丶配置xdebug扩展

  1. 输出phpinfo();在打开的界面执行全选-复制

全选复制

  1. 打开https://xdebug.org/wizard,将复制的信息粘贴进入文本框并点击【Analyse my phpinfo() output】按钮,查看结果页

查看检查扩展结果

  1. 这里应该分两种情况 a: 一种是可以查询出相对应的扩展版本,你可以直接下载对应的扩展包,然后放在它给你指定的php安装目录文件夹里,并配置到指定的php.ini b: 第二种就是像我这样 没有找到对应版本 它会告诉你去安装指定的版本,我这里并没有安装它指定的,点击download去找跟自己自身php小版本一样的去下载 结果 c:我的是8.0.2我就下载了8.0的[64位就选64,32就选32]
  2. 下载至php安装目录下的ext文件夹中 扩展
  3. 打开phpstudy 此时我们已经看到了该扩展 点击开启

开启扩展

  1. 接下里就是修改php.ini 文件了 具体需要的参数已经备注了以下 直接复制更改
[Xdebug]
xdebug.profiler_enable_trigger=Off
xdebug.profiler_output_name="xdebug.cache.%t-%s"
xdebug.profiler_append=Off
xdebug.mode=debug
xdebug.start_with_request=default
#客户端的ip<即IDE的机器的ip,不是你的web server>
xdebug.client_host=localhost
#端口号
xdebug.client_port=9000
#客户端的端口
xdebug.idekey=PHPSTORM
#此key必须配置 IDE和客户端都会用到
zend_extension=G:/PhpServer/phpstudy_pro/Extensions/php/php8.0.2nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=Off
xdebug.trace_output_dir=G:/PhpServer/phpstudy_pro/Extensions/php_log/php8.0.2nts.xdebug.trace
xdebug.profiler_enable=Off
xdebug.profiler_output_dir=G:/PhpServer/phpstudy_pro/Extensions/php_log/php8.0.2nts.xdebug.profiler
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
  1. 保存 重启phpstudy 然重新打印phpinfo();扩展到此安装完毕 php+xdebug

二丶配置phpstorm

  1. 依次打开>>文件>>设置>>php>>选择自己的php编辑器版本 Tips:这里根据自己的phpstorm版本自行选择打开路径

图片

  1. 然后再找到调试窗口 核对自己上边在php.ini 设置的端口 端口
  2. 紧接着>>调试>>DBgp代理窗口设置代理信息(和php.ini保持相同),最后点击应用 输入图片说明
  3. 在phpstorm窗口找到添加/编辑配置具体位置因版本而异 输入图片说明
  4. 点击phpweb 点击phpweb
  5. 依次填入信息,名称我们随便起[服务器一定要配置正确,如果没有就按照以下方式添加]浏览器最好选择一下,其余可保持默认 输入图片说明
  6. 名称我们可以随便填写一个 主机就是你的域名(可本地) 输入图片说明
  7. 然后我们点击验证 输入图片说明
  8. 脚本的验证路径默认是项目根目录我这里使用的是laravel 要选择public 然后点击验证 出现全部对号 我们就算配置成功了 输入图片说明
  9. 最后点击应用,然后再主页面可以看到已经有了添加的配置调试程序 输入图片说明
  10. 这时候我们点击右边的爬虫,就会在我们上边选择的浏览器中打开一个窗口 携带一个ide key 输入图片说明
  11. 接下来测试接口 一般情况下我们的接口不是在浏览器运行的 这里我们打开接口调试工具 随便一个 我这里用的是phpstorm,输入我们的接口地址 并且携带上上图中的ide key 输入图片说明
  12. 打开编辑器 找到相对应的接口 在需要调试的地方 打上断点 输入图片说明
  13. 然后请求接口 不出意外 调试成功 即可看到信息 输入图片说明

此教程相对应针对高版本的php 如果是7.3以下的 可能与之有较大差距 另外这里使用的是xdenug 3 如果是xdebug2 phpini的配置也有变化 但大同小异 可自行百度

THE END

喜欢就支持一下吧!

版权声明:除却声明转载或特殊注明,否则均为艾林博客原创文章,分享是一种美德,转载请保留原链接,感谢您的支持和理解

骄傲与失败挂钩,虚心与进步交友;懒惰和愚昧相亲,奋斗跟胜利握手。

格言

推荐阅读

Mysql数据库 Explain执行语句中的type类型

mysql语句编写完成以后,要习惯用explain分析SQL语句根据结果进而进行sql方面的优化处理,此文章介绍expl...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 02月24日

深入理解PHP DateTime类:全面指南

本文深入探讨PHP的DateTime类,提供了创建DateTime对象、格式化、修改、时区处理等多个方面的广泛示例代码,...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 03月15日

HTTP状态码详解:解析网络世界的通行密码

本文全面解析了HTTP状态码,从1xx到5xx,详细介绍了每个状态码的含义及其在网络通信中的作用,旨在帮助读者更好地理解...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 05月16日

2024 年后端编程语言 TOP 10 及其分析

文章全面分析了 2024 年最受欢迎的后端编程语言 TOP 10,包括 Java、Python、Node.js、C#、P...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 12月26日

探索PHP 8:构建更现代、安全和高效的Web应用程序

深入探讨如何使用PHP 8的新特性来构建现代、安全、高效的Web应用程序,包括JIT编译器、属性(Attributes)...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 03月12日

深入理解JWT:原理、优缺点及使用场景

本文详细解析JWT的原理、结构、优缺点及使用场景,并提供了JWT的安全使用策略和常见问题解答,帮助开发者在现代Web开发...

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 01月04日

深度解析:PHP Laravel 框架中的缓存策略与优化

深入剖析 PHP Laravel 框架中的缓存策略,涵盖缓存驱动原理、应用场景及优化技巧,助力开发者提升应用性能。

https://file-one.7k7s.com//uploads/20240604/89f56a7378e381410f4dfcfab3948775.jpg
陈杰 03月04日