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.9,5.3以上的任意版本都可以开启此扩展,具体由工作情况而定。
Xdebug 2.5.5,在5.3版本以上的php中可以直接在扩展中打开,比较简单。
VScode 1.66.2,或者phpstrom等IDE。
FireFox + Xdebug helper或PHP SERVER启动调试.


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


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

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

0x03 php.ini配置

在图形化的界面中已经可以更改部分php.ini的配置,包括xdebug.auto_trace、xdebug.profiler_enable和xdebug.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.ini和php.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即可。

Windows下搭建PHP调试环境(phpstudy+VScode)相关推荐

  1. Windows下搭建ESP-IDF开发环境,适合ESP32/S2/C3/S3系列模组二次开发

    前言 本教程适用于以下两种用户: ①无Linux环境搭建经验或搭建Linux开发环境不成功: ②使用安信可windows一体化环境IDE V1.5开发环境搭建不成功: 本教程提供了windows下搭建 ...

  2. windows下搭建iphone开发环境

    在windows下搭建iphone开发环境,我是这样做的. 1. 安装虚拟机,并且在虚拟机中安装mac os: 2. 启动虚拟机的mac os, 然后安装 iphone sdk. 具体请参考以下几篇文 ...

  3. 乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  4. windows下搭建PHP+MSSQL环境

    最近因项目需要;研究了一下windows下搭建PHP+MSSQL环境 安装PHP集成环境这里我选择WAMPSERVER 我们从下面的两个地址下载wampserver的安装包和更新包,你也可以从官网下载 ...

  5. windows搭建python开发环境方法_04 Windows下搭建 Python 开发环境 - Python 入门教程

    前面两个小节中我们已经学习了在 MacOS 和 Ubuntu 中安装 Python 的开发环境.当然,作为用户基数最多的 Windows 操作系统,我们当然不会忘记,这节课我们就来学习下如何在 Win ...

  6. windows下搭建Vagrant+Virtualbox环境

    对于开发人员来说,Vagrant就是一个提供标准化开发环境的工具.通过Vagrant: 使每个开发人员电脑上的代码运行环境一致,再也不会出现"在我电脑上运行起来明明没有问题的"这样 ...

  7. windows下搭建ITS运行环境

    1.Python 安装 可以直接在python官网下载,也可以通过anaconda来安装. 个人建议直接使用anaconda的方式来安装,优点如下: ① 省心,安装完即用,不影响任何其他环境配置:若不 ...

  8. Windows下搭建MeeGo开发环境

    一.我搭建的实际环境 硬件环境: 32-bit Intel Core 2 CPU ,CPU支持VT虚拟化技术的. 软件环境: 32位Windows 7 旗舰版. 文件系统: NTFS文件系统. 二.安 ...

  9. windows下搭建Linux开发环境

    以前一直都是安装的双系统来运行windows和linux,当想学习一下linux编程的时候就跑到linux下面去,做其他事情的时候就转到windows下面来.虽然在linux下也学会了使用wine,也 ...

最新文章

  1. 小程序之通过参数改变标签
  2. 双系统安装 Windows8和Windows Server2012
  3. 不可摸数http://acm.hdu.edu.cn/showproblem.php?pid=1999
  4. 前端学习(2133):前端代码复杂带来的问题
  5. Python 教你自动发微博,每日一句英语
  6. 四、java中的数组
  7. 建站倒计时html,网页短时间维护倒计时js代码
  8. 【Flink】Flink NoSuchFieldError BIND_PORT
  9. mysql重置密码报错,吐血整理
  10. ArcMAP中如何将16位保存的卫星底图,转变为8位表示
  11. JAVA中的编码分析
  12. SSO单点登录原理详解(从入门到精通)
  13. ZZULIOJ:1044: 不及格率
  14. 报错:Apache提示 the requested operation has failed无法启动问题(最全!)
  15. 超市管理系统Java
  16. usaco Barn Repair 解题报告
  17. Postgresql源码(83)执行器的结果接收系统——DestReceiver
  18. CE认证的流程及需要的基本资料
  19. Powertoys Run的翻译插件
  20. mysql8设置用户权限报错You have an error in your SQL syntax;right syntax to use near ‘IDENTIFIED BY

热门文章

  1. matlab求解出来的函数,变成点乘,并且成为函数
  2. 【宫水三叶的刷题日记】468. 验证IP地址
  3. ACS文章图片格式要求
  4. 教大家如何用数字万用表对三极管 MOS管正确测量
  5. H5新增标签详细解说
  6. 论第三方服务公司的全国经营策略
  7. python3 爬虫实战 :用 Appium 抓取手机 app 的 数据
  8. 清华大学计算机与科学系张荷花简历,清华大学软件学院研究生导师简介-张荷花...
  9. tensorflow gpu对应的cuda版本
  10. kernelutil.dll出错如何修复?kernelutil.dll下载地址