php代码审计之——phpstorm动态调试
xdebug调试
调试环境部署
xdebug的版本需要与PHP版本相对于,所以不要轻易改变PHP环境版本。
0 配置php解析器
文章图片
1 下载对应版本的xdebug
xdebug官网下载地址:https://xdebug.org/download.php
你需要仔细分析和选择要下载的对应版本,否则无法调试。由于非常容易出错,建议采用下面这种简单方法:
xdebug网站提供一个自动分析你系统对应的xdebug版本的页面,网址是 https://xdebug.org/wizard.php
文章图片
在页面中需要粘贴进去php版本信息,也就是phpinfo()函数的信息,如下图:
文章图片
ctrl+A全选这个页面的信息,然后粘贴到第一个图片的页面中。
文章图片
点击 analyse my phpinfo() output 按钮
将下载的DLL文件拷贝到指定目录,按照页面上的提示即可
文章图片
文章图片
到此为止,xdebug的下载和启用就完成了,重新运行 phpinfo.php
文章图片
2 修改php.ini文件里的xdebug配置项
xdebug2:
[XDebug]
xdebug.profiler_output_dir="C:\phpstudy2018\PHPTutorial\tmp\xdebug"
xdebug.trace_output_dir="C:\phpstudy2018\PHPTutorial\tmp\xdebug"
zend_extension = "C:\phpstudy2018\PHPTutorial\php\php-7.2.1-nts\ext\php_xdebug.dll"xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
;
开启远程调试
xdebug.remote_enable = 1
;
客户机xdebug调试协议
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = "req"
xdebug.remote_host=127.0.0.1
;
xdebug.remote_port默认值为9000,这里需要跟phpstorm配置一致,下面有说明
xdebug.remote_port=9000
;
idekey 区分大小写
xdebug.idekey="PHPSTORM"
xdebug3:
[xdebug]
zend_extension = "C:\phpstudy2018\PHPTutorial\php\php-7.2.1-nts\ext\php_xdebug.dll"
xdebug.mode= "debug"
#性能分析文件存放位置
xdebug.output_dir = "C:\phpstudy2018\PHPTutorial\tmp\xdebug"
#步骤调试器,应该是步入步进步出的吧
xdebug.remote_handler = "dbgp"
xdebug.idekey="PHPSTORM"
xdebug.start_with_request = yes
#由remote_host替换过来了,就写本机的就行
xdebug.client_host=127.0.0.1
#由remote_port替换过来了,调试端口
xdebug.client_port=9000
3 配置phpstorm Ctrl+Alt+S快捷键打开设置,搜索xdebug,其中的Debug port确保不被其他应用占用,当程序无法进入断点时,可以考虑是否有其他应用占用了你本地的9000端口。
文章图片
在DBGp Proxy中配置你的idekey,idekey和在php.ini配置文件中xdebug.idekey项的值一样,host是你的服务器ip或域名
文章图片
【File】 ->【Settings】 ->【Languages & Frameworks】 ->【PHP】的servers中配置xdebug服务
文章图片
测试一下配置是否成功
文章图片
(如果不成功,根据报错去修改)
4 第一个调试 调试使用:
新建一个运行调试配置
文章图片
新建php web page页面
文章图片
照着这样填就好了。
开始调试:
设置断点,开启debug监听。
文章图片
点击绿色的甲壳虫开始调试。
文章图片
红色圆中有个对号,是说明改断点生效了
即可看到调试数据在下方显示。
补充--xdebug helper插件
使用该插件主要是为了弥补xdebug本身的局限,直接使用phpstorm xdebug调试的话,设置的断点需要每次都重头运行到断点处,而不能灵活的终止或者其他操作
xdebug helper就可以实现这个功能。需要终止的时候选择disable选项即可,而不需要从头开始。
安装使用:
直接搜索xdebug helper。安装成功后右键进入扩展选项
文章图片
然后,前面正常配置
浏览器开启debug,发包即可
文章图片
文章图片
参考 https://blog.csdn.net/yinhangbbbbb/article/details/79247331
https://www.cnblogs.com/lightsrs/p/9612409.html
【php代码审计之——phpstorm动态调试】https://www.cnblogs.com/beidaxmf/p/14527335.html
推荐阅读
- 代码生成器|代码生成器(MyBatis-Plus代码生成自定义模版)
- Mybatis笔记|(Mybatis笔记)mybatis-plus 3.4.3.4 + mybatis-plus-generator 3.5.1 代码生成器使用——超详细
- 笔记|TransGAN代码复现—九天毕昇平台
- c#|PHP使用者,使用C#完成需求,遇到思路和问题
- C/C++实现蛇形矩阵的示例代码
- 用C语言实现井字棋游戏代码
- 蓝桥杯题解|蓝桥杯“字串排序“题解
- 笔记|JAVA中的练习
- php|一文读懂什么是元宇宙()
- 深度学习|TransUnet官方代码测试自己的数据集(已训练完毕)