Xampp中Xdebug的安装使用

在这里插入图片描述

工欲善其事,必先利其器

XDebug简介
XDebug 是一个用于 PHP 的调试和性能分析工具。它提供了一系列功能,帮助开发者在开发和调试 PHP 应用程序时更加高效。

以下是 XDebug 的一些主要特性和功能:

调试功能:

断点调试: XDebug 允许在代码中设置断点,以便在执行到断点时停止脚本的执行,从而方便开发者逐步调试代码。
变量查看: 提供了能够查看变量内容、堆栈跟踪和函数调用的功能,帮助开发者更好地理解代码执行过程。
远程调试: 支持通过网络进行远程调试,使开发者可以在不同的环境中调试 PHP 代码。
性能分析功能:

代码覆盖率: XDebug 可以生成代码覆盖率报告,显示哪些部分的代码被执行,帮助开发者优化测试覆盖率。
性能分析: 提供了性能分析功能,能够生成调用图和函数调用统计信息,有助于发现代码中的性能瓶颈。
错误报告:

显示详细错误信息: 当 PHP 脚本发生错误时,XDebug 可以提供更详细和有用的错误信息,包括堆栈跟踪,帮助开发者更容易地定位和修复问题。
IDE 集成:

支持多种 IDE: XDebug 可以集成到多种流行的 PHP 集成开发环境(IDE)中,例如 PhpStorm、Eclipse 等,提供更友好的调试体验。
配置和定制:

灵活配置: XDebug 提供了许多配置选项,可以根据开发者的需求进行灵活配置。
支持多种输出格式: 可以将调试信息输出为 HTML、文本或其他格式,以适应不同的需求。

PhpStorm调试工具

XDebug安装

请确保已经安装好PhpStorm和Xampp

配置Xampp

1、 停止apache服务,打开php.ini

2、 查找“XDebug”,找到[XDebug]配置,将#去掉(#为注释符号),按照以下配置修改:

xampp中会有XDebug的代码

;的意思是被注释掉了,所以要先去掉;号;

然后开启xdebug.remote_enable = on;

还要增加xdebug.idekey= PHPSTROM。

其中remote_host 是指调试客户端的地址,即IDE所在的IP,同理remote_port 是客户端的端口,这两项在远程调试的情况下注意修改,远程的时候最终改为:


[XDebug]zend_extension = "D:\xampp\php\ext\php_xdebug.dll"xdebug.profiler_append = 0xdebug.profiler_enable = 1xdebug.profiler_enable_trigger = 0xdebug.profiler_output_dir = "D:\xampp\tmp"xdebug.profiler_output_name = "cachegrind.out.%t-%s"xdebug.remote_enable = 1xdebug.remote_handler = "dbgp"xdebug.remote_mode = "req"xdebug.remote_port = 9000

3、 保存文件,重启apache,这时候在CMD里输入 你的xampp目录\php\php.exe -m

看到列表中包含XDebug说明开启成功。至此,服务器端配置完毕

另一种方法为浏览器打开localhost,找到phpinfo()点击打开配置情况,查找xdebug项,找到了说明xdebug配置成功。

 

配置PhpStorm

1、 打开phpStorm,进入File>Settings>Languages&Frameworks>PHP>Servers。

这里要填写服务器端的相关信息,name随意,host填项目地址,port填80,debugger选XDebug

2、 进入File>Settings> Languages&Frameworks>PHP>Debug,看到 XDebug 选项卡,port填9000,其他默认

备注:DebugPort要和Php.ini中一致。

3、 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 PHPSTORM,host 填localhost,port 填9000,点击ok保存配置(其实这里也是可以不用设置)

4、 Phpstorm中打开调试环境:单击IDE右上角电话图标,默认为关闭

点击后变为开启debug:

注意:不进行调试时请关闭

配置Chrome浏览器

1、 打开chrome浏览器,百度“chrome xdebug helper”,下载xdebug插件。

下载后文件:chromein.com_ext_11294.crx

2、 点击chrome浏览器右上角三道横线的图标

,在下拉菜单中选择“设置>扩展程序”。将下载好的插件拖入打开的扩展程序页面,即可安装插件。

 

收藏(五角星)按钮左侧,多出一个debug图标(瓢虫)

 

3、 安装好插件,点击选项,配置IDE key为PhpStorm

 

 

4、 安装好的Xdebug插件浏览器右上角有瓢虫图标。默认为Disable,调试时选中点击Debug

 

由于具体的图片没有显示出来,我上传一个文档配置XDebug,在phpstorm和Chrome浏览器中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/252927.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础面试题整理7之Redis

1.redis持久化RDB、AOF RDB(Redis database) 在当前redis目录下生成一个dump.rdb文件,对redis数据进行备份 常用save、bgsave命令进行数据备份: save命令会阻塞其他redis命令,不会消耗额外的内存,与IO线程同步;bgsav…

MySql索引分类

目录 第一章、按数据结构分类1.1)树型数据结构索引1.2)Hash数据结构索引1.3) 其他数据结构索引 第二章、按物理存储方式分类2.1)聚簇索引(聚集索引)2.2)非聚簇索引(非聚集索引&#…

Blender教程(基础)-顶点的移动、滑移-16

一、顶点的移动与缩放 ShiftA新建柱体、切换到编辑模式 点模式下,选择一个顶点、选择移动(GZ),发现顶点严Z轴移动,如下图所示 GY 按数字键盘7切换视图,选择这个面的所有顶点 按S把面缩放大 Ctrl…

【大模型上下文长度扩展】FlashAttention-2:比1代加速1.29倍、GPU利用率从55%上升到72%

FlashAttention-2 提出背景FlashAttention-2 改进 前向传播和反向传播对比FlashAttention前向传播FlashAttention反向传播FlashAttention-2前向传播FlashAttention-2反向传播FlashAttention-2并行性线程束之间的工作分区 总结FlashAttentionFlashAttention-2 论文:h…

Typora导出html文件图片自动转换成base64

Typora导出html文件图片自动转换成base64 一、出现问题二、解决方案三、编码实现3.1.创建Java项目3.2.代码3.3.打包成Jar包 四、如何使用endl 一、出现问题 typora 导出 html 的时候必须带有原图片,不方便交流学习,文件太多显得冗余,只有将图…

Golang GC 介绍

文章目录 0.前言1.发展史2.并发三色标记清除和混合写屏障2.1 三色标记2.2 并发标记问题2.3 屏障机制Dijkstra 插入写屏障Yuasa 删除写屏障混合写屏障 3.GC 过程4.GC 触发时机5.哪里记录了对象的三色状态?6.如何观察 GC?方式1:GODEBUGgctrace1…

鸿蒙OS导入项目报错不能运行 @ohos\hvigor\bin\hvigor.js‘

在自学HarmonyOS时,想在DevEco Studio导入官方示例代码:待办列表(ArkTS)报错 C:\Users\woods\Downloads\test01\ToDoListArkTS\node_modules\ohos\hvigor\bin\hvigor.js --mode module -p moduleentrydefault -p productdefault …

开源软件:引领技术创新、商业模式与安全的融合

序 在信息技术日新月异的今天,开源软件以其独特的魅力和影响力,正逐渐成为软件产业的新常态。开源软件的低成本、高度可协作性和透明度等特点,不仅吸引了无数企业和个人用户的青睐,更为软件行业带来了前所未有的繁荣景象。 一、…

【C++】构造函数、初始化列表,析构函数,拷贝构造函数,运算符重载

注:本博客图片来源于学习笔记: 学习笔记https://gitee.com/box-he-he/learning-notes 完整思维导图请前往该博主码云下载。 目录 注:本博客图片来源于学习笔记: 学习笔记https://gitee.com/box-he-he/learning-notes 完整思维导图请前往该博主码云下载…

微信小程序(三十六)事件传参

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.传参步骤 2.传参接收解构步骤 源码&#xff1a; index.wxml <button type"primary" bind:tap"onclick" mark:index"{{0}}" mark:remb"{{1}}" class"But&quo…

我的QQ编程学习群

欢迎大家加入我的QQ编程学习群。 群号:950365002 群里面有许多的大学生大佬&#xff0c;有编程上的疑惑可以随时问&#xff0c;也可以聊一些休闲的东西。 热烈欢迎大家加入&#xff01;&#xff01; 上限:150人。

华视 CVR-100UC 身份证读取 html二次开发模板

python读卡&#xff1a;python读卡 最近小唐应要求要开发一个前端的身份证读卡界面&#xff0c;结果华视CVR-100UC 的读取界面是在是有点&#xff0c;而且怎么调试连官方最基本的启动程序都执行不了。CertReader.ocx 已成功&#xff0c;后面在问询一系列前辈之后&#xff0c;大…

uniapp 使用renderjs引入echarts

效果图&#xff1a; 1.1renderjs引入echarts 组件zmui-echarts.vue&#xff1a; <template><view class"zmui-echarts" :prop"option" :change:prop"echarts.delay"></view> </template><script>export defaul…

时序预测 | Matlab实现基于LSTM长短期记忆神经网络的电力负荷预测模型

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 时序预测 | Matlab实现基于LSTM长短期记忆神经网络的电力负荷预测模型 LSTM(长短期记忆)是一种递归神经网络(RNN)的变体,它在序列数据建模方面表现出色。电力负荷预测是一项重要的任务,可以利用LSTM神经网络…

【华为 ICT HCIA eNSP 习题汇总】——题目集13

1、以下在项目规划阶段中需要完成的工作是&#xff08;&#xff09;。 A、确定技术方案 B、了解项目背景 C、选择网络产品 D、规划 IP 地址 考点&#xff1a;网络规划与设计 解析&#xff1a;&#xff08;B&#xff09; 确定技术方案是在网络规划的设计阶段完成的工作&#xff…

vue - 指令(一)

看文章可以得到什么&#xff1f; 1.可以快速的了解并会使用vue的指令 2.可以加深你对vue指令的理解&#xff0c;知道每个指令代表什么功能​​​​​​​ 目录 什么是vue的指令&#xff1f;​​​​​​​ vue常见指令的使用 v-html v-show v-if v-else 和v-else-…

c#cad 创建-正方形(四)

运行环境 vs2022 c# cad2016 调试成功 一、程序说明 创建一个正方形&#xff0c;并将其添加到当前活动文档的模型空间中。 程序首先获取当前活动文档和数据库&#xff0c;并创建一个编辑器对象。 然后&#xff0c;使用事务开始创建正方形的操作。获取模型空间的块表记录&a…

「 CISSP学习笔记 」08. 安全运营

该知识领域涉及如下考点&#xff0c;具体内容分布于如下各个子章节&#xff1a; 理解并遵守调查执行记录和监控活动执行配置管理 (CM)&#xff08;例如&#xff0c;预配、基线、自动化&#xff09;应用基本的安全操作概念应用资源保护执行事故管理执行和维护检测和预防措施实施…

electron项目在内网环境的linux环境下进行打包

Linux需要的文件: electron-v13.0.0-linux-x64.zip appimage-12.0.1.7z snap-template-electron-4.0-1-amd64.tar.7z 下载慢或者下载失败的情况可以手动下载以上electron文件复制到指定文件夹下&#xff1a; 1.electron-v13.0.0-linux-x64.zip 复制到~/.cache/electron/目录下…

百面嵌入式专栏(面试题)进程管理相关面试题1.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍进程管理相关面试题 。 一、进程管理相关面试题 进程是什么?操作系统如何描述和抽象一个进程?进程是否有生命周期?如何标识一个进程?进程与进程之间的关系如何?Linux操作系统的进程0是什么?Linux操…