PhpStorm-xdebug超详细使用教程

Php (67) 2023-03-24 21:04

大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。

PhpStorm xdebug

前言

程序开发过程中,调试是不可避免的。以PHP开发来说,由于脚本语言特性,相信你在使用xdebug之前肯定以及确定以及百分百使用类似下面的方式做断点调试。

echo "";
die();

像上面的做法并不是不可行,但是不觉的过于麻烦吗!咋们也要像java开发那样可以在eclipse上使用 断言调试 。那么,php就刚好有一个xdebu功能,来实现断点调试操作。如果不知道xdebug是什么,麻烦度娘一波再回来看文章。


环境介绍

开发环境:PhpStudy小皮面板集成环境8.0.*
php版本:7.3.*
xdebug版本: 2.*
PhpStorm版本: 2020.2
浏览器xdebug插件: 1.6.1

为什么使用小皮面板?因为集成的容易操作啊!!
为什么不使用更高版本的xdebug3.0*?如果有兴趣,可以去官网下载来玩玩,注意对应上你的PHP版本,还有php.ini的参数设置也发生了变化
xdebug官网

Xdebug运行原理

单机调试原理 PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第1张

多机调试原理 PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第2张

其实说白了,就是通过监听端口的形式,告诉IDE这次的请求是一个调试请求,然后IDE就执行调试功能了,你也就可以随心所欲打断电看数据了


调试设置

首先phpstudy先创建一个网站(xxx.com),选择合适的PHP版本后,将PHP的xdebug功能开启。

去到对应的php.ini开启以下配置
[Xdebug]
zend_extension=D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.auto_trace=On
xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace
xdebug.profiler_enable=On
xdebug.profiler_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.profiler
xdebug.remote_enable=1;allow remote debug
xdebug.remote_host=localhost
xdebug.remote_port=9002;listen port
xdebug.remote_handler=dbgp;default agreement
xdebug.remote_log="D:\phpstudy_pro\Extensions\tmp\xdebug.log"

phpstorm设置debug

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第3张

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第4张

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第5张

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第6张

设置到这里基本上就结束啦。验证也通过了,如果没通过,请根据IDE错误提示信息补全设置,接下去做实际演示效果


做足调试前期准备

  1. 开启IDE监听
  2. 开启browser插件
  3. 代码打上断点
  4. 选择调试的php文件进行调试

访问网站并且启动插件

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第7张


IDE打上断点并且开启监听

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第8张


成功执行调试

PhpStorm-xdebug超详细使用教程_https://bianchenghao6.com/blog_Php_第9张


结语

相比较之下java的断点调试,eclipse是非常方便的。而PhpStorm调试则需要许多插件和配置文件的支持,需要做很多前期工作。但是,说让我们是PHPER呢,加油吧!

发表回复