Windows下搭建PHP调试环境(phpstudy+VScode)

Windows下搭建PHP调试环境(phpstudy+VScode)

  • 0x00 问题背景
  • 0x01 配套环境
  • 0x02 php Xdebug简介
    • 官方介绍:
    • Xdebug扩展启用
  • 0x03 php.ini配置
  • 0x04 vscode配置
    • VScode下载安装
    • VScode调试配置
      • 1. PHP Debug
      • 2. launch.json
      • 3. PHP SERVER创建调试
      • 4.FireFox + Xdebug helper调试

0x00 问题背景

近期在学习sqli-labs时想更清楚的看到变量拼接后的内容,之前也一直想搭建一个php 的调试环境,刚好最近在国光大佬的文章中发现了类似的内容,记录一下自己的学习过程。

0x01 配套环境

Win_10 操作系统,这里windows下环境的搭建都是相同的
phpstudy2016+ ,建议使用phpstudy2018或者最新版的phpstudy_pro,后者有着更好看的UI,前者则是更简洁的界面。
php5.6.95.3以上的任意版本都可以开启此扩展,具体由工作情况而定。
Xdebug 2.5.5,在5.3版本以上的php中可以直接在扩展中打开,比较简单。
VScode 1.66.2,或者phpstrom等IDE。
FireFox + Xdebug helper或PHP SERVER启动调试.

Windows下搭建PHP调试环境(phpstudy+VScode)_第1张图片
Windows下搭建PHP调试环境(phpstudy+VScode)_第2张图片

0x02 php Xdebug简介

官方介绍:

Xdebug是一款帮助php开发和调试的扩展。它提供了在IDE中单步调试的功能,也优化了了var_dump的输出格式,为Notice、Warning、ErrorException提供了调用栈信息,还可以结合PHPUnit提供代码覆盖率信息等。

  • 由此可以看到想要与Xdebug交互获得当前代码中的各种信息,一个好的IDE也是必不可少的。

Xdebug扩展启用

  • 这里使用最新版本的phpstudy搭建xdebug版本为2.5.5

phpstudy_prophp5.6.9为例,选择软件管理→php标签→设置

Windows下搭建PHP调试环境(phpstudy+VScode)_第3张图片
在设置中选择扩展组件→XDebug调试组件
这里的profilertrace分别对应配置文件中下面两项的值。

xdebug.auto_trace=Off / on
xdebug.profiler_enable=Off / on

Windows下搭建PHP调试环境(phpstudy+VScode)_第4张图片

0x03 php.ini配置

在图形化的界面中已经可以更改部分php.ini的配置,包括xdebug.auto_trace、xdebug.profiler_enablexdebug.remote_port的内容,但还有部分内容需要我们在ini中直接修改。

在基础使用中需要用到的配置参数为:

zend_extension=X:/phpStudy_64/phpstudy_pro/Extensions/php/php5.6.9nts/ext/php_xdebug.dll
//扩展安装路径,如果使用的是集成环境,这部分内容都应当已有
xdebug.collect_params=1
//控制function的参数显示选项,这里1表示只显示参数类型
xdebug.collect_return=1
//控制显示function的返回值,这里1表示显示返回值,0为不显示
xdebug.auto_trace=On
//控制Xdebug跟踪函数调用,跟踪信息以文件形式存储
xdebug.trace_output_dir=D:/phpStudy_64/phpstudy_pro/Extensions/php_log/php5.6.9nts.xdebug.trace
//控制trace文件输出的位置
xdebug.profiler_enable=On
//控制自动开启性能检测
xdebug.profiler_output_dir=D:/phpStudy_64/phpstudy_pro/Extensions/php_log/php5.6.9nts.xdebug.profiler
//控制profiler文件输出的位置
xdebug.remote_enable=On
//配置远程调试开启
xdebug.remote_host=localhost
//配置远程调试地址,这里为本地
xdebug.remote_port=9000
//配置远程调试端口
xdebug.remote_handler=dbgp
//表示协议为DBGp协议,一般默认不跟更改
xdebug.idekey = AFCC
//控制连接IDE的字符串

全部配置完毕后重新启动phpstudy读取配置文件,打开phpinfo.php。搜索xdebug如图所示,表示服务端已经配置完毕。
在这里插入图片描述

0x04 vscode配置

VScode下载安装

VScode官网中选择对应系统的安装包类型,一路Next安装即可。
Windows下搭建PHP调试环境(phpstudy+VScode)_第5张图片

VScode调试配置

1. PHP Debug

在VScode的扩展中搜索并安装 PHP Debug

Windows下搭建PHP调试环境(phpstudy+VScode)_第6张图片
设置之前确定的IDEkey。
Windows下搭建PHP调试环境(phpstudy+VScode)_第7张图片
之后随意编写一个含有变量的php文件用来测试:


$a = $_GET['a'];
$b = $_GET['b'];
$a_b = $a + $b;
var_dump($a_b);
?>

2. launch.json

根据提示创建launch.json文件,内容为:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9000 //端口与之前相同
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000 //端口与之前相同
        }
    ]
}

3. PHP SERVER创建调试

为了便于调试开启与关闭,直接安装PHP SERVER插件。
Windows下搭建PHP调试环境(phpstudy+VScode)_第8张图片
分别配置

Browser默认打开的浏览器
Windows下搭建PHP调试环境(phpstudy+VScode)_第9张图片

php.iniphp.exe用于启动服务
Windows下搭建PHP调试环境(phpstudy+VScode)_第10张图片
点击Run and Debug,然后点击PHP server直接打开浏览器调试。

Windows下搭建PHP调试环境(phpstudy+VScode)_第11张图片

调试完毕后使用CTRL + SHIFT + P选择PHP Server: Stop server,停止对应的php server。
在这里插入图片描述

4.FireFox + Xdebug helper调试

在这里火狐和google浏览器都有对应的Xdebug helper,在扩展管理中下载并安装扩展。

Windows下搭建PHP调试环境(phpstudy+VScode)_第12张图片
安装完毕后只需配置IDEkey即可。
Windows下搭建PHP调试环境(phpstudy+VScode)_第13张图片
在VScode中点击Run and Debug,然后在浏览器访问页面,点击小图标开始调试。
Windows下搭建PHP调试环境(phpstudy+VScode)_第14张图片
调试完毕后选择Disable即可。
Windows下搭建PHP调试环境(phpstudy+VScode)_第15张图片

你可能感兴趣的:(网络安全,CTF_Web,vscode,php,windows)