Phpstorm+Phpstudy 搭建xdebug调试

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

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

在日常的工作或者学习中,项目调试是是开发过程中不可缺少的存在,他不仅能帮你更直接的作为一个观察者查阅项目运行流程,更重要的能及时排查接口以及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

喜欢就支持一下吧!

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

问题在于用事实证明有理,没事实,有理也不值一文

罗曼·罗兰

推荐阅读

Laravel 路由缓存问题排查与解决方案

本文讲述在 Laravel + PHP 项目中,使用 php artisan route:cache 缓存路由时部分路由...

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

PHP常用数组函数解析

PHP常用数组函数解析,完整解析核心函数,包含参数类型、模式常量、多维数组处理等高级技巧,提供简单到企业级的实战案例演示...

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

PHPDoc 注释标签详解:全面指南

探索 PHPDoc 中的关键标签和它们的具体用途,增进代码文档化的技巧,提高 PHP 项目的可维护性与可读性。

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

Laravel 日志系统全面解析

深入探索Laravel日志系统,了解不同日志级别的使用场景,如何通过日志进行有效的问题定位,以及高级配置和性能优化策略。

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

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

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

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

实现微信小程序与服务端流式数据交互:打造实时打字效果

本文深入探讨了如何利用微信小程序与服务端之间的流式数据交互,实现一个引人入胜的实时打字效果。通过详细解析代码实现,本文展...

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

PHP中[guzzlehttp/guzzle] 的使用方法

如何在PHP中使用GuzzleHttp库进行HTTP请求。我们将详细解释如何使用GuzzleHttp发送GET、POST...

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

Linux查找命令详解大全

本文提供了Linux查找命令的详解,包括使用find命令查找文件和目录、使用grep搜索文件内容、使用netstat检...

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