Phpstorm+Phpstudy 搭建xdebug调试

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

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

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

喜欢就支持一下吧!

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

至诚如神。

《礼记·中庸》

推荐阅读

利用Guzzle进行高效异步请求与Workerman构建实时数据处理

本文展示了如何利用PHP中的Guzzle和Workerman工具,实现高效的异步请求处理和实时数据响应。

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

Laravel ORM(Eloquent)深入探究:强大的查询构造器

本文深入探讨了Laravel的Eloquent ORM中强大的查询构造器功能,特别是where方法及其多种变体和使用方式...

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

PHP 一匿名函数、回调函数和闭包函数的介绍

本文详细介绍了PHP中的匿名函数、回调函数和闭包函数的概念、用法和具体示例。匿名函数是没有名字的函数,可以在任何需要函数...

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

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

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

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

[转]下载量最高的 100 个 Laravel 扩展包推荐

下载量最高的 100 个 Laravel 扩展包推荐,laravel教程文章分享

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

数据库索引深入解析:原理、类型及优化策略

本文深入解析了数据库索引的原理、类型及优化策略,涵盖索引的常见类型(如单列索引、复合索引、全文索引等)及其应用场景,并提...

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

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

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

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

php获取指定日期的前一天,前一月等日期范围

php获取指定日期的前一天,前一月等日期范围

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