Phpstorm+Phpstudy 搭建xdebug调试

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

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

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

喜欢就支持一下吧!

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

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

罗曼·罗兰

推荐阅读

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

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

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

Mysql json 字段操作

Mysql 字段的操作

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

PHP Trait 的优势及使用场景详解

本文详细讲解了 PHP Trait 的定义、优势、使用场景及最佳实践,帮助开发者深入理解这一强大的代码复用工具,并在实际...

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

MySQL字符串类型的字段 默认值NULL、空值、Empty String的区别,哪个更好?

本文详细介绍了在MySQL中默认值为NULL、空值和Empty String(空字符串)的区别,并分析了在生产环境下的优...

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

PHP的JIT魔法:解锁代码性能的秘密

深入探讨PHP 8的即时编译(JIT)特性,包括其工作原理、性能优化示例,以及在不同场景下的应用和局限性。

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

thinkphp 模型withCount方法如何指定COUNT字段

本文将详细介绍如何在 ThinkPHP 模型中使用 withCount 方法来获取关联模型的计数信息。通过指定 COUN...

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

Composer 如何切换到中国镜像

本文提供了详细的步骤来指导PHP开发者如何将Composer的默认镜像源切换至中国镜像,以加快依赖包的下载速度,包括全局...

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

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

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

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