PhpStorm配置debug环境的详细过程
作者:easyrce 发布时间:2023-05-26 20:04:32
phpstorm配置debug环境
众所周知,在渗透测试进行代码审计的时候,往往要审计代码的执行过程,亦或是在开发php项目的时候,需要了解代码的执行逻辑,并从大量的代码跳转执行中精确找到bug错误是很困难的,这就需要我们进行像java或者是c#那样进行debug,所以在phpstorm添加xdebug插件可以快速帮我们解决问题,进行自动调试和跳转,无疑是如虎添翼!
0x1所需工具
phpstudy2018
phpstorm
0x2配置文件
phpstudy2018 php配置文件 php.ini
修改原[XDebug]的配置,替换成下面的内容,前面三个的路径不同,改成自己的文件路径即可,修改完记得重启
[XDebug]
xdebug.profiler_output_dir="C:\...\phpstduy2018\PHPTutorial\tmp\xdebug" ;optional
xdebug.trace_output_dir="C:\...\phpstduy2018\PHPTutorial\tmp\xdebug" ;optional
zend_extension="C:\...\phpstduy2018\PHPTutorial\php\php-5.6.27-nts\ext\php_xdebug.dll" ;xdebug扩展的位置,每个人可能不一样,必须确定的
xdebug.remote_enable=On ;启动远程调试,必须确定
xdebug.remote_host=127.0.0.1 ;需要调试的远程主机
xdebug.remote_port=9001 ;远程主机与phpstorm通信的端口,必须确定
xdebug.remote_handler=dbgp ;通信协议,optional
xdebug.auto_trace=on ;启用代码自动跟踪,optional
xdebug.idekey=PHPSTORM;optional
xdebug.collect_return=On ;收集返回值,optional
xdebug.collect_params=On
0x3配置php解释器和debug解释器
记得每一步完成都要点击apply应用,使其生效
第一:配置php解释器和debug.dll
第二:Debug
Debug设置端口9001,与配置文件一致
第三:DBGp
PHP下面的DBGp
第四
Servers: 设置debug的名字
第五
Edit Configurations 编辑配置文件
++
第六
选择PHP Web Page
编辑网页文件
填完方框的内容之后apply,再点击蓝色的Validate
Validate来确认是否安装完成
第七
六个打勾即可完成
第八
Run勾选上Break at first line in PHP scripts
0x4使用方法
下面是使用phpstorm的debug调试环节,出现下面的图片即可快乐的调试代码
当用phpstorm进行debug调试的时候,记得开启监听模式,调试完记得关闭监听让流量进行正常转发
开启
关闭
当时间久了它会断开连接,我们可以快速刷新url或者重发即可再次连接
http://www.sqli.com/Less-18/?id=1&XDEBUG_SESSION_START=PHPSTORM
当我们想快速跳转到想要执行的语句的时候,可以右键点击红色Force Run to Cursor进行强制跳转
来源:https://blog.csdn.net/qq_51907507/article/details/126959786


猜你喜欢
- pycharm一般安装完毕,就是默认是自动保存的,但是......但是....既然是程序,既然是软件,就难免出现bug。也许会 * 友出现头天
- #python中的函数定义,使用和传参###------------------- 必要参数 -----------------------
- 在程序出现bug时一般不会将错误信息显示给用户,而是现实一个提示的页面,通俗来说就是不让用户看见大黄页!!!有时候我们写程序的时候,会出现一
- 实验室老师让给数据画一张线性拟合图。不会matlab,就琢磨着用python。参照了网上的一些文章,查看了帮助文档,成功的写了出来这里用到了
- 看Python简明教程,学习使用print打印字符串,试了下打印中文,不行。编辑环境:IDLE上网搜了下解决办法,各种说法,试了两种:pri
- 路由关系映射的一个小问题URL中那个上尖号在正则中表示 以某某开头 $符号表示以某某结尾 这就限制了开头和结尾,也就固定了长度但是 admi
- 1、ComboBox的基础属性# -*- encoding=utf-8 -*-import tkinterfrom tkinter impo
- 在自然语言处理过程中,全角、半角的的不一致会导致信息抽取不一致,因此需要统一。有规律(不含空格):全角字符unicode编码从65281~6
- python-try-except:pass用法1.为了跳过for循环里的某次循环以下代码当某次循环发生错误时,执行except代码块,co
- 在我的印象里面进制互相转换确实是很常见的问题,所以在Python中,自然也少不了把下面这些代码收为util。这是从网上搜索的一篇也的还可以的
- 需要引用vue-resource安装请参考https://github.com/pagekit/vue-resource官方文档在入口函数中
- 本文实例为大家分享了python实现微信自动回复的具体代码,供大家参考,具体内容如下新年到了,不想让一早上给你发送祝福的人心里一阵寒风,可以
- 这篇文章主要介绍了Python计算不规则图形面积算法实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- html5带给我们的不仅仅是更多语义丰富的标签,还有更多更牛逼的特性,比如“离线存储”。 对于台式电脑来说,或者它并没有带来什么惊喜,但是对
- 1. 安装 seaborn安装:pip install seaborn导入:import seaborn as sns2.准备数据正式开始之
- 前言在部署一些定时运行或者长期运行的任务时,为了留存一些导致程序出现异常或错误的信息,通常会才用日志的方式来进行记录这些信息。python内
- 写接口case时,有时需要对cae做一些共性的操作,最典型的场景如:获取case执行时间、打印log等。有没有一种办法来集中处理共性操作从而
- 在本文中,我们将探讨一种简洁的方式,以此来可视化你的MP3音乐收藏。此方法最终的结果将是一个映射你所有歌曲的正六边形网格地图,其中相似的音轨
- 1、返回json响应结果在struct的字段后面加入json:"key"可以进行json格式输出,其中key为json的
- 一、为什么要配置文件1、容易编辑,配置比较集中,方便修改,在大业务量的系统里面,通过配置会方便后人理解整个系统的架构2、做到业务代码和环境解