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
猜你喜欢
- ASP开发中有用的function集合,挺有用处的!希望大家保留!<% '**
- 这也是老早前整理的了,也贴出来吧:1. showModalDialog和showModelessDialog的异同
- 一、简化代码采用更为简短的写法,不仅可以减少输入的字符数,还可以减少文件大小。大部分采用简单写法的代码,执行效率都有轻微提高。1.1&nbs
- 今天我去隽辰的博客去看他的文章,在读完他的文章之后,我很自然的就去读网友们给他留的评论,在读的时候我发现他的评论是顺序的,也就是最早的评论在
- BCP语句的作用:BCP是SQL提供的进行数据传输的实用程序,这种语句提供了非常快的数据导入的方法。(当然7。0也有BCP的替代方法就是DT
- FrontPage服务器扩展可以做以下工作:(1),保存和检索Web服务器的文件;(2),远程执行所有文件管理操作;(3),改名或移动文件时
- 另:@会影响效率如:@mysql_connect() 可以导出错误,但会影响效率。mysql与mysqli的区别:
- Asp中Server.ScriptTimeOut属性需要注意的一点Server.ScriptTimeout 这个属性给定Asp脚
- 完美的渐变透明效果。支持IE,Firefox渐变,自己写的JS框架中用的东西,发出来了。修正完全隐藏时,偶尔不display = "
- 如何实现让每句话的头一个字母都大写? <%dim txtFnametxtFName = &qu
- 曾有位网友遇到这样一个问题:产品名称为“A&T Plastic”,在产品列表中需要做这样的超链接,<a href="
- 分页设计我们经常会见到,这里有30个分页设计,以供大家欣赏欣赏借鉴。
- 简单计数器代码如下所示:<% Set fs = CreateObject("Scri
- 阅读作者的上一篇相关文章:段正淳的css笔记(3)标题右侧“更多”的实现 段正淳的css笔记(4)1、css代码的简写css缩写的语法,对新
- 年前接到QCon的邀请,颇感意外。在我的印象里,QCon大会是后端开发工程师和架构师的技术大会。后来去QCon大会的官网搜索了下,发现原来Q
- 和大多数的语言脚本一样,学习ASP最好的方法就是亲身尝试ASP,使用你自己的系统安装PWS或者IIS。你可以边学习边在你自己的服务器上测试A
- 在通过拼组sql语句来实现数据插入的应用中,我们很有可能会遇到需要插入大型数据的情况,例如,在oracle中需要插入字节数超过4000的字段
- MySQL 一级防范检查列表以下是加固你的 Mysql 服务器安全所要做的工作的重要参考:Securing MySQL: step-by-s
- 由于系统自带的MySQL默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程
- 照例使用XMLhttp同步方式获取数据,可是由于网络不稳定,经常造成'死锁'状况,既send之后一直不返回服务器结果,也不出