环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

admin 2024年12月13日22:51:51评论14 views字数 3242阅读10分48秒阅读模式

前言

最近有朋友问笔者XDebug环境老是配不上, 所以出一篇关于XDebug环境的详细配置, 需要搭建本地代码审计环境时不迷路.

再次其就是笔者发现了一款一键式环境部署工具, 叫做FlyEnv, 经过测试可以说是特别好用, 相比较于phpstudy笔者还是选择了使用FlyEnv进行一键环境搭建. 有一种从中国菜刀切换为蚁剑的感觉.

因为对于phpStudy来说, 已经很久没有更新了, 包括每次笔者在使用phpStudy时, 都需要自己手动配置环境变量, 但FlyEnv更加方便, 可以一键插入环境变量, 2333.环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

FlyEnv 介绍

FlyEnv 是一款轻量级的环境管理工具,它可以帮助开发者方便地管理包括PHP在内的多种开发环境。其优势在于能够比较精准地配置环境变量,使得不同项目的运行环境可以很好地隔离开来,避免相互干扰。并且在环境部署方面相对灵活高效,能够在一定程度上提升开发部署的效率,适合对开发环境配置精准度和效率有较高要求的开发者使用。

FlyEnv官网: https://www.macphpstudy.com/

Github为: https://github.com/xpf0000/FlyEnv

安装完毕之后它的 UI 如下:

PHP, MYSQL版本等经过笔者测试, 官方最新版也在其内, 更有意思的是它提供了工具箱, 可以在做MISC题目的时候用到呢?环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

当然功能远不止这些, 感兴趣可以去官网 & github进行查看.

XDebug 环境搭建 [Windows]

配置 PHP 版本

FlyEnv中《站点》功能, 添加一条域名, 并配置具体版本号:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具
在这里笔者选择使用php7.4这个版本, 当然更高版本也可以:
环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具最终访问成功:
环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

安装对应的 Debug 插件 (XDebug3)

由于对应的PHP版本需要对应的xdebug版本dll文件, 所以在这里我们可以通过FlyEnv一键配置环境变量, 通过phpinfo的信息去 https://xdebug.org/wizard 中进行匹配:环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

随后将安装好的dll插件放入到我们的php扩展目录中:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

配置 php.ini

在这里我们需要配置一下php.ini, 配置如下:

[xdebug]
; 指定Xdebug扩展文件的路径
zend_extension = E:LanguagePhpWebStudy-Dataappphp-7.4.33extphp_xdebug.dll
; 设置IDE的key,用于与IDE(如PhpStorm)通信
xdebug.idekey = "PHPSTORM"
; 指定Xdebug客户端(如调试器)的主机名, 通常设置为localhost或127.0.0.1
xdebug.client_host = localhost
; 指定Xdebug客户端监听的端口号, 调试器将在这个端口上监听来自Xdebug的连接
xdebug.client_port = 9003
xdebug.mode = debug
xdebug.profiler_append = 0
; 设置性能分析输出文件的名称格式, %p会被替换为进程ID
xdebug.profiler_output_name = cachegrind.out.%p
; 是否开启远程调试功能
xdebug.remote_enable=On
; 是否在每次请求时自动启动远程调试
xdebug.remote_autostart=On
; 是否随请求启动Xdebug(在debug模式下有效)
xdebug.start_with_request = yes
xdebug.trigger_value=StartProfileForMe
; 设置性能分析输出文件的目录
xdebug.output_dir = C:/Windows/Temp

直接在工具中追加到php.ini最后一行即可:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

随后重启php应用, 在phpinfo中发现该扩展说明配置成功:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

vscode 配置

安装Debug插件:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

注意的是, 这里 json 文件中的port, 是需要与php.ini中配置的端口号进行对应的, 安装完毕后即可使用XDebug.

debug 演示

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

PHP 老版本的 xdebug dll文件下载 (XDebug2)

通过 PHP 版本查找 dll 方法

经过测试, 如果使用PHP5.6的话, https://xdebug.org/wizard 将会显示不支持该版本, 那么我们应该如何在该版本进行debug配置?实际上与上面的其他步骤都相同, 只是寻找一个对应的版本问题, 可以去 https://downloads.php.net/~windows/pecl/releases/xdebug/ 进行查找对应版本. 那么如何进行查找呢?

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

需要通过phpinfo自己来进行对应即可, 安装完ZIP后, 将其中的php_xdebug.dll文件将其解压到我们php5.6ext目录中即可:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

该步骤后期可能导致的问题 [大坑]

这里虽然对应上了, 但如果后期打断点进不去 | 定义完 php.ini 项目起不来了的话, 则是因为xdebug版本过低导致的, 上面那张图的寻找虽然当前的php环境以及VC环境是对应的, 可能vscode版本太高, 导致不支持低版本的xdebug, 当然具体原因不知.

实测php5.6.40在: https://downloads.php.net/~windows/pecl/releases/xdebug/2.5.4/php_xdebug-2.5.4-5.6-ts-vc11-x64.zip 下载可以成功运行, 查找思路仍然是之前的查找思路.

php.ini 配置 [大坑2]

xdebug2.x.xxdebug3.x.x中, 在php.ini中的配置是不一样的, 有一些参数的改变, 这里给上可以成功配置的配置项:

[xdebug]
; 指定Xdebug扩展文件的路径
zend_extension=E:/Language/PhpWebStudy-Data/app/php-5.6.40/ext/php_xdebug.dll
xdebug.remote_handler=dbgp
xdebug.idekey=PHPSTORM
;开启远程调试
xdebug.remote_enable = On
;远程主机
xdebug.remote_host=localhost
;主机端口
xdebug.remote_port=9003
;开启自动跟踪
xdebug.auto_trace = On
;开启异常跟踪
xdebug.show_exception_trace = On
;开启远程调试自动启动
xdebug.remote_autostart = On
;收集变量
xdebug.collect_vars = On
;收集返回值
xdebug.collect_return = On
;收集参数
xdebug.collect_params = On
;显示局部变量
xdebug.show_local_vars = On
xdebug.profiler_enable = On
xdebug.trace_enable_trigger =On
xdebug.profiler_output_dir = C:/Windows/Temp
xdebug.trace_output_dir = C:/Windows/Temp

实际上这里在我们vscode插件中也有说明:

环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

Reference

https://blog.spoock.com/2017/09/19/xdebug-attack-surface/

https://blog.ricterz.me/posts/Xdebug:%20A%20Tiny%20Attack%20Surface

https://zhuanlan.zhihu.com/p/497002112

https://sp4rkw.blog.csdn.net/article/details/79604839

https://blog.csdn.net/continueCode/article/details/119756563

原文始发于微信公众号(Heihu Share):环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月13日22:51:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   环境搭建 | XDebug 无错配置+代替phpStudy的另一种集成工具http://cn-sec.com/archives/3506044.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息