Xampp中Xdebug的安装使用

news2024/11/27 4:24:08

在这里插入图片描述

工欲善其事,必先利其器

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 = 0

xdebug.profiler_enable = 1

xdebug.profiler_enable_trigger = 0

xdebug.profiler_output_dir = "D:\xampp\tmp"

xdebug.profiler_output_name = "cachegrind.out.%t-%s"

xdebug.remote_enable = 1

xdebug.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.coloradmin.cn/o/1437379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

幻兽帕鲁怎么样?好玩? Mac版的玩《幻兽帕鲁》也很简单,只需三个步骤

幻兽帕鲁怎么样 幻兽帕鲁是一款集合了多种游戏元素的游戏,它巧妙地融合了《方舟:生存进化》的野外生存挑战、《荒野之息》的开放世界探索、《魔兽世界》的多元角色互动以及宝可梦的精灵捕捉与培养等经典游戏元素。游戏的核心系统是「帕鲁」捕获,你可以让…

电力负荷预测 | 基于LSTM、TCN的电力负荷预测(Python)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 电力负荷预测 | 基于LSTM、TCN的电力负荷预测(Python) 源码设计 #------------------

Java HashSet 重写 equals() 和 hashCode() 对象去重

Ailt Insert 选择 equals() 和 hashCode() package com.zhong.collection.set;import java.util.HashSet; import java.util.Objects;public class HashSetDeduplication {public static void main(String[] args) {// HashSet 对象去重HashSet<Student> students new …

momentJs推导日历组件

实现效果: 代码&#xff1a; 引入momentjs然后封装两个函数构建出基本数据结构 import moment from moment;// 某月有多少天 export const getEndDay (m) > m.daysInMonth();/*** description 获取本月空值数据* param { Date } year { } 年度* param { Number } month …

springboot Feign方式注入注解详解

一、FeignClient注解详解 FeignClient是Spring Cloud中用于声明Feign客户端的注解&#xff0c;它使得编写HTTP客户端变得更简单。通过Feign的自动化配置机制&#xff0c;可以很容易地编写HTTP API客户端。以下是FeignClient的详解&#xff1a; 作用&#xff1a;FeignClient注解…

C++,stl,vector容器详解

目录 1.vector基本概念 2.vector的创建 3.vector赋值操作 4.vector容量和大小的操作 5.vector容器的插入和删除 6.vector容器的数据存取 7.vector互换容器 8.vector容器预留空间 1.vector基本概念 2.vector的创建 #include<bits/stdc.h> using namespace std;int m…

CSS综合案例4

CSS综合案例4 1. 综合案例 我们来做一个静态的轮播图。 2. 分析思路 首先需要加载一张背景图进去需要4个小圆点&#xff0c;设置样式&#xff0c;并用定位和平移调整位置添加两个箭头&#xff0c;也是需要用定位和位移进行调整位置 3. 代码演示 html文件 <!DOCTYPE htm…

一个Vivado仿真问题的debug

我最近在看Synopsys的MPHY仿真代码&#xff0c;想以此为参考写个能实现PWM-G1功能的MPHY&#xff0c;并应用于ProFPGA原型验证平台。我从中抽取了一部分代码&#xff0c;用Vivado自带的仿真器进行仿真&#xff0c;然后就遇到了一个莫名其妙的问题&#xff0c;谨以此文作为debug…

vue3项目中使用mapv

vue3项目中使用mapv mapv是百度地图官方提供的地图数据可视化开源项目&#xff0c;提供了很多效果酷炫的绘图api mapv地址在这里&#xff0c;示例图在这里 先解释为什么要用mapv echarts画的地图&#xff0c;都是行政区划&#xff0c;就算是geo地图&#xff0c;也只能在行政…

基于YOLOv8的暗光低光环境下(ExDark数据集)检测,加入多种优化方式---DCNv4结合SPPF ,助力自动驾驶(一)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了暗光低光数据集检测整个过程&#xff0c;从数据集到训练模型到结果可视化分析&#xff0c;以及如何优化提升检测性能。 &#x1f4a1;&#x1f4a1;&#x1f4a1;加入 DCNv4结合SPPF mAP0.5由原始的0.682提升至…

跳过mysql密码并重置密码 shell脚本

脚本 目前只是验证了5.7 版本是可以的&#xff0c;8.多的还需要验证 以下是一个简单的Shell脚本&#xff0c;用于跳过MySQL密码设置并重置密码&#xff1a; #!/bin/bash yum install psmisc -y# 停止MySQL服务 sudo service mysqld stop# 跳过密码验证 sudo mysqld --skip-g…

品牌如何营造生活感氛围?媒介盒子分享

「生活感」简而言之是指人们对生活的感受和意义&#xff0c;它往往没有充斥在各种重要的场合和事件中&#xff0c;而是更隐藏在细碎平凡的生活场景中。在营销越来越同质化的当下&#xff0c;品牌应该如何打破常规模式&#xff0c;洞察消费情绪&#xff0c;找到更能打动消费者心…

4.JS变量(变量本质,声明,更新,交换,命名规则,let和var的区别,数组简单使用)

什么是变量&#xff1f; 这里就写个人理解把&#xff0c;不仅仅是针对于js&#xff0c;在编程语言中&#xff0c;要想要计算机执行并且理解人类的意图&#xff0c;那么首先计算机要存储人类输入的数据&#xff0c;这个时候变量的作用就来了&#xff0c;变量的意义在于人类告诉…

敏捷开发中的用户故事

用户故事 drawio是一款强大的图表绘制软件&#xff0c;支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用&#xff0c;则直接输入网址drawon.cn或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能&#xff0c;并实现了云端存储&#xff0c…

LLM是一个向量程序库,提示是查询语言

2013 年&#xff0c;Mikolov 等人在 Google。 注意到一些值得注意的事情。 他们正在构建一个模型&#xff0c;将单词嵌入到向量空间中——这个问题从 20 世纪 80 年代开始就已经有很长的学术历史了。 他们的模型使用了一个优化目标&#xff0c;旨在将单词之间的相关关系转化为…

【刷题日记】最长定差子序列

给你一个整数数组 arr 和一个整数 difference&#xff0c;请你找出并返回 arr 中最长等差子序列的长度&#xff0c;该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下&#xff0c;通过删除一些元素或不删除任何元素而从 arr 派生出来的序…

HDL Designer 2021.1 如何将默认编辑器修改为VsCode

第1步 安装Vscode 第2步 添加Vscode至HDL Designer 第3步 更改HDL Designer编译器 第4步 修改结束&#xff0c;在HDL Designer中双击block可使用Vscode编辑verilog

SpringBoot+Druid并开启监控页面

介绍 Druid 是一个开源的数据库连接池项目&#xff0c;由阿里巴巴集团开发并贡献给开源社区。它在Java领域中以其高性能、强大功能和易用性著称&#xff0c;是Java应用中广泛使用的数据库连接池组件之一。 Druid 的主要特点包括&#xff1a;   高性能与低延迟&#xff1a; Dr…

2月6日作业

1.现有无序序列数组为23,24,12,5,33,5347&#xff0c;请使用以下排序实现编程 函数1:请使用冒泡排序实现升序排序 函数2:请使用简单选择排序实现升序排序 函数3:请使用快速排序实现升序排序 函数4:请使用插入排序实现升序排序 #include<stdio.h> #include<string.h&…

我的QQ编程学习群

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