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

article/2025/9/28 20:31:22

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

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


http://chatgpt.dhexx.cn/article/i0LQMMHj.shtml

相关文章

PHP开发程序调试

php程序如何调试&#xff1f; 一、PHP自带的调试功能 1、修改php.ini &#xff08;1&#xff09;开发环境 需要打开报错输出显示,方便开发者调试。 display_errors On &#xff08;2&#xff09;生产环境 不能直接将错误输出&#xff0c;而是记入日志&#xff0c;以免透…

IntelliJ IDEA 2019 配置 PHP 调试 xdebug 并进行测试

&#x1f4d6;摘要 今天分享下 —— IntelliJ IDEA 2019 配置 PHP 调试 xdebug 的一些基本知识&#xff0c;欢迎关注&#xff01; &#x1f302;分享 先创建一个php项目&#xff1a;传送门------>IntelliJ IDEA 2019 配置PHP开发环境 和 IntelliJ IDEA 2019 创建php项目 。 …

PHP 调试 - 方式

之前学 Java 的时候&#xff0c;一直使用 IDE 的 console 控制台进行调试。后来搞 PHP 后&#xff0c;习惯在代码里面 echo 和 exit&#xff0c;然后在浏览器刷新看效果&#xff0c;把单步调试、变量值查看等常用的调试方式给忘了。其实通过 IDE 集成的控制台进行调试更高效。 …

使用xdebug调试php详细教程 原创

下载xdebug扩展 将phpinfo()中的信息全部复制到Xdebug中的文本框中&#xff0c;如下图所示&#xff1a;点击“Analyse my phpinfo() output”按钮。 跳转到如下图所示页面&#xff0c;会对本机中的php进行分析&#xff0c;点击“Download php_xdebug-2.7.2-7.2-vc15-x86_64.dll…

Xdebug安装与使用

Xdebug安装与使用 为什么需要Debugger? 很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等&#xff0c;其实对 于有较丰富开发经验的程序员来说这些也已经足够了&#xff0c;他们往往可以在程序执行的过程中&#xff0c;通过输出特定变量的值可以判断程序执行是否…

Git详细教程(五):查看分支、创建分支、合并分支

一、查看分支 查看的git命令如下&#xff1a; git branch 列出本地已经存在的分支&#xff0c;并且当前分支会用*标记 git branch -r 查看远程版本库的分支列表 git branch -a 查看所有分支列表&#xff08;包括本地和远程&#xff0c;remotes/开头的表示远程分支&#xff09…

git的分支与合并的两种方法

git的分支与合并的两种方法 如何将两个分支合并到一起。就是说我们新建一个分支&#xff0c;在其上开发某个新功能&#xff0c;开发完成后再合并回主线。 1. git merge 咱们先来看一下第一种方法 —— git merge 在 Git 中合并两个分支时会产生一个特殊的提交记录&#x…

Git合并分支代码到主分支的方法总结

目录 一、简介 二、实现步骤 一、简介 在使用Git开发过程中&#xff0c;我们一般都是在develop开发分支上进行开发&#xff0c;应该比较少会在master分支上直接开发的&#xff0c;一般如果开发分支进行了一次大版本的更新并且经过测试后&#xff0c;我们就需要将代码同步到m…

Git整合分支的两种方法——合并(git merge)与变基(git rebase)的区别

转载者总结了下原文的关键句&#xff0c;补充了几个相关链接&#xff0c;得到本文。 文章目录 Git整合分支的两种方法1、合并&#xff08;git merge&#xff09;2、变基&#xff08;git rebase&#xff09; 用例子理解 合并(git merge)与变基(git rebase)的区别合并&#xff08…

git 分支合并(dev合并到master分支)

前景&#xff1a;在项目开发中&#xff0c;经常会多分支协作开发&#xff0c;所以就会遇到分支合并等问题。以下用例是将dev分支合并到master分支 1. 对当前dev分支的本地代码进行储存 1.1 如当前代码未编辑完&#xff0c;不想提交&#xff0c;即可将当前dev分支的代码暂存 gi…

Git 分支合并代码

Git 分为哪几个区&#xff1a; https://blog.csdn.net/qq_36672905/article/details/82776283 Git的区域分为 工作区、暂存区、本地仓库区 工作区&#xff08;work directory&#xff09;&#xff1a;一般就是我们项目的根目录。 本地仓库&#xff08;repository&#xff0…

git将一个分支的提交合并到另一个分支

git将一个分支的提交合并到另一个分支 Git合并指定文件到另一个分支。 经常被问到如何从一个分支合并特定的文件到另一个分支。其实&#xff0c;只合并你需要的那些commits&#xff0c;不需要的commits就不合并进去了。 1. 合并某个分支上的单个commit 首先&#xff0c;用g…

Git分支合并到另外一个分支

注意&#xff1a;不能在分支节点再新建分支节点&#xff0c;及时新建了成功了&#xff0c;分支节点也是基于master去建立的。&#xff08;已验证&#xff09; 下面来提一个需求: 需要新建两个分支&#xff0c;一个是test1另外一个是test2&#xff0c;首先在test1上开发&#…

git查看分支、创建分支、合并分支

一、查看的git命令如下&#xff1a; git branch 列出本地已经存在的分支&#xff0c;并且当前分支会用*标记 git branch -r 查看远程版本库的分支列表 git branch -a 查看所有分支列表&#xff08;包括本地和远程&#xff0c;remotes/开头的表示远程分支&#xff09; git bran…

git合并分支总结(一看就懂哟)

1.主分支&#xff1a;在本地先拉取最新代码&#xff0c;提交&#xff08;commit&#xff09;到本地&#xff0c;推送&#xff08;push&#xff09;到云端 --下图是idea中提交到本地&#xff0c;未推送到云端的提示&#xff1a; 2.小分支&#xff1a;在本地先拉取最新代码&…

git如何把其他分支的合并到主分支上,主分支的合并到其他分支上

master&#xff1a;主分支 other&#xff1a;其他分支 首先查看分支 git branch如果分支在主分支上忽略此步&#xff0c;如果不在切换分支 git checkout other在other分支上拉取代码 git pull最重要的一步&#xff0c;拉完代码后&#xff0c;在切换到master分支上&#xff…

git merge合并分支

一、本文是从master分支拉出的two&#xff0c;然后合并回master 1、切换到master分支&#xff1a;git checkout master 2、创建并切换到two分支&#xff1a;git checkout -b two 3、将two分支push到远程仓库&#xff08;与本地仓库同步&#xff09;&#xff1a;git push ori…

git分支的合并

原文&#xff1a; http://gitbook.liuhui998.com/3_3.html http://gitbook.liuhui998.com/5_3.html 一、如何分支的合并 在git中&#xff0c;可以使用 git merge 和 git rebase 两个命令来进行分支的合并。 git merge 和 git rebase 在大体上都差不多&#xff0c;下文主要以g…

Git提交本地代码至分支及合并分支到总分支

Git提交本地代码至分支 前言一、查看分支二、本地新建分支三、切换到新分支四、创建并切换分支五、将新分支推送到gitlab六、删除分支七、git 提交本地代码至新分支八、将分支代码合并到总分支 前言 git版本控制工具和svn差不多&#xff0c;可选择的远程库有github、gitlab、g…

git怎么合并两个分支

git怎么合并分支代码 1.git 命令 注意: 第一步你得把当前分支合到远程分支去才能有下面的操作 另外我是将develop分支代码合并到release分支去1.推完代码到远程仓库查看本地分支(如果推错分支代码那么请将分支切到刚刚推送上去代码的分支在来进行下面的操作) git branch2.切…