IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Windows下搭建PHP调试环境(phpstudy+VScode) -> 正文阅读

[PHP知识库]Windows下搭建PHP调试环境(phpstudy+VScode)

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启动调试.

phpstudy2018
在这里插入图片描述

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标签→设置

r
在设置中选择扩展组件→XDebug调试组件
这里的profilertrace分别对应配置文件中下面两项的值。

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

在这里插入图片描述

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安装即可。
在这里插入图片描述

VScode调试配置

1. PHP Debug

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

在这里插入图片描述
设置之前确定的IDEkey。
在这里插入图片描述
之后随意编写一个含有变量的php文件用来测试:

<?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插件。
在这里插入图片描述
分别配置

Browser默认打开的浏览器
在这里插入图片描述

php.iniphp.exe用于启动服务
在这里插入图片描述
点击Run and Debug,然后点击PHP server直接打开浏览器调试。

在这里插入图片描述

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

4.FireFox + Xdebug helper调试

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

在这里插入图片描述
安装完毕后只需配置IDEkey即可。
在这里插入图片描述
在VScode中点击Run and Debug,然后在浏览器访问页面,点击小图标开始调试。
在这里插入图片描述
调试完毕后选择Disable即可。
在这里插入图片描述

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 10:57:56  更:2022-05-05 10:58:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 17:57:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码