PHP开发日志 ━━ php8.3安装与使用组件Xdebug

今天开头写点历史:

  • 二十年前流行asp,当时用vb整合常用函数库写了一个dll给asp调用,并在此基础上开发一套仿windows界面的后台管理系统;
  • 后来asp逐渐没落,于是在十多年前转投php,不久后用php写了一套mvc框架,同时参考asp仿windows经验,结合兴起的jQuery重写后台管理系统。这个框架从php4和php5版本开始,陆续更新到现在php8,并在这个框架和后台上开发了几十套应用产品,目前大部分运行在php4或者php5上依然没问题;
  • 后来golang、python兴起,php也越来越规范化和复杂化。可既然都要求规范化了,那不如直接投奔golang吧…而且vue作为前端,前后分离的模式也开始流行,于是…
  • 直到最近的国产化风向起来了,心想golang会不会因为是谷歌背景而在未来有所顾忌?算了,重新整理一遍php框架,做好准备吧。
  • 因为当时开发框架时就整合了错误报告、日志记录、内存和效率检测等小工具,并且每开发一个核心部件就会测试其运行效率,选择最优解,遇到bug时,最不济用var_dump()die()手动一行行试也能解决大部分问题,所以一直以来几乎没上过Xdebug等工具。
  • 而今天,就在今天,从Xdebug下手吧~~

为什么要写历史呢?难道是快春节了?有点感慨?

在这里插入图片描述

一、概况

Xdebug是PHP的扩展,并且提供了一系列功能来改善 PHP 开发体验。
官网:https://xdebug.org/

1. 步骤调试 (Step Debugging)

一种在执行脚本时在 IDE 或编辑器中单步执行代码的方法。

2. 对 PHP 错误报告的改进(Improvements to PHP’s error reporting)

改进的功能,堆栈跟踪 通知、警告、错误和异常,突出显示代码路径 错误var_dump()

3. 描图(Tracing)

写入每个函数调用,包括参数和调用位置 到磁盘。(可选)还包括每个变量赋值和返回值 每个函数的值。

4. 分析(Profiling)

允许您在可视化工具的帮助下分析 PHP应用程序的性能并找到瓶颈。

5. 代码覆盖率分析(Code Coverage Analysis)

显示运行时执行代码库的哪些部分 使用 PHPUnit 进行单元测试。

二、下载

1. 直接下载

https://xdebug.org/docs/install

  • 选择windows
    在这里插入图片描述
  • 选择download
    在这里插入图片描述
  • 下载
    在这里插入图片描述

2. 导航下载

https://xdebug.org/wizard

由官网分析PHP状态后决定php下载地址。

  • 在php页面中写上
phpinfo();
  • 运行php获得内容
    在这里插入图片描述

  • 复制源代码
    ctrl + u 打开源代码界面,复制相关内容,一般前后有<table></table>标签。
    在这里插入图片描述

  • 黏贴分析
    黏贴至官网导航文本框后点击按钮 Analyse my phpinfo() out 开始分析。
    在这里插入图片描述

  • 下载
    根据分析结果点击其所提供下载
    在这里插入图片描述

三、安装

在这里插入图片描述

1. 放置与更名

根据导航提示,将下载好的Xdebug组件放入php的ext目录中,并将文件更名为 php_xdebug.dll
在这里插入图片描述

2. 修改php.ini

在最后写入一行:

zend_extension = xdebug

3. 重启服务器

  • 重启后浏览器中打开php文件,拉到中后部可看到
    在这里插入图片描述

4. 安装分析

可以参考前面示例,将该页代码中涉及php信息的源代码复制黏贴到向导页面
在这里插入图片描述
得到分析结果
在这里插入图片描述
如果上图红框位置显示版本号,那么恭喜安装成功了。

四、功能

1. Development Helpers 开发助手

将更好处理错误消息,并从PHP的内置中获取更好的信息功能。
使用说明:https://xdebug.org/docs/develop

php.ini中写入开启(默认开启):

xdebug.mode = develop

可以通过 phpinfo() 或者 xdebug_info() 查看是否已开启该功能

在这里插入图片描述

2. Code Coverage Analysis 代码覆盖率分析

代码覆盖率可以了解哪些脚本在请求期间执行。
使用说明:https://xdebug.org/docs/code_coverage

php.ini中写入开启:

xdebug.mode = coverage

3. Garbage Collection Statistics 垃圾回收统计

PHP中的垃圾回收(GC)会对内存和性能产生严重影响,了解它何时被触发以及每次运行的效率如何,借以优化程序。
使用说明:https://xdebug.org/docs/garbage_collection

php.ini中写入开启:

xdebug.mode = gcstats
xdebug.start_with_request = yes

4. Profiling 分析

允许查找脚本中的瓶颈,并使用外部工具将其可视化。
说明:https://xdebug.org/docs/profiler

php.ini中写入开启:

xdebug.mode = profile

5. Step Debugging 步骤调试

允许以交互方式演练代码以调试控制流和检查数据结构。
使用说明:https://xdebug.org/docs/step_debug

php.ini中写入开启:

xdebug.mode = debug

6. Function Trace

允许记录所有函数调用,包括参数,并且以不同格式将值返回给文件
使用说明:https://xdebug.org/docs/trace

php.ini中写入开启:

xdebug.mode = trace

五、VSCode插件

1. 下载插件

在这里插入图片描述

2. 配置

  • 必须打开Xdebug的debug功能,即在php.ini中开启
xdebug.mode = debug
xdebug.start_with_request = yes
  • 在VSCode的调试中激活参数
    在这里插入图片描述

参考

  • 23
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Xdebug 是一个用于 PHP调试器和分析器。它可以帮助您跟踪代码执行、查看变量值和调用堆栈等。要使用 Xdebug,您需要在 PHP安装和配置它。步骤如下: 1. 下载并安装 Xdebug 扩展。 2. 编辑 php.ini 配置文件,启用 Xdebug 扩展。 3. 设置 IDE 或编辑器来使用 Xdebug。 4. 使用 Xdebug 进行调试。 如果您使用的是 Windows 系统,可以使用 PECL 命令安装 Xdebug: ``` pecl install xdebug ``` 如果您使用的是 Linux 系统,可以使用以下命令安装 Xdebug: ``` sudo apt-get install php-xdebug ``` 然后,编辑 php.ini 文件启用 Xdebug 扩展: ``` zend_extension = /usr/lib/php/20151012/xdebug.so ``` 并设置 IDE 或编辑器来使用 Xdebug 进行调试,例如在PhpStorm中设置即可。 如果您想了解更多关于 Xdebug 的信息,请访问官网:https://xdebug.org/ ### 回答2: PHP Xdebug 是一个用于调试 PHP 程序的工具。它提供了一些强大的功能,帮助开发人员在开发调试过程中更加高效地查找和解决问题。 使用 Xdebug 的第一步是将其安装PHP 环境中。一般来说,可以通过厂商提供的包管理器(如 PECL),或者手动下载源代码编译安装安装完成后,需要在 PHP 配置文件中启用 Xdebug 扩展。 一旦安装和启用 Xdebug,我们就可以开始使用其提供的功能了。其中最常用的功能是代码断点调试。我们可以在代码中设置断点,当程序执行到断点时会停下来,然后可以逐行查看代码的执行路径、变量的值以及调用堆栈等信息。可以使用调试器(如 PhpStorm、NetBeans 或者 Xdebug 自带的命令行工具)来与 Xdebug 进行交互。 除了断点调试Xdebug 还提供了一些辅助功能。例如,它可以生成代码覆盖率报告,帮助我们了解代码的执行情况以及哪些部分没有被覆盖到。另外,Xdebug 还可以记录函数的调用时间和内存消耗,用于性能分析和优化。 为了更好地使用 Xdebug,我们可以在 PHP 配置文件中进行一些配置。我们可以设置远程调试(Remote Debugging),允许通过网络连接到远程服务器进行调试。我们还可以设置日志记录(Logging),将调试信息写入日志文件,以便以后分析。 总之,PHP Xdebug 是一个非常实用的工具,可以帮助开发人员更加高效地进行 PHP 程序的调试使用 Xdebug 可以快速定位和解决问题,并提高代码的质量和性能。 ### 回答3: PHP Xdebug 是一个可以提供调试、分析和优化 PHP 程序的强大工具。它为开发者提供了一系列的功能,帮助我们更方便地进行代码调试和性能分析。 首先,Xdebug 提供了强大的调试功能,可以让我们在 PHP 程序中设置断点,然后逐行调试代码。通过启用 Xdebug,我们可以在代码中插入断点,以便在执行到断点时暂停程序并检查变量的值以及代码执行流程。这对于定位代码中的错误和调试复杂的程序非常有帮助。 此外,Xdebug 还可以生成详细的运行时日志,可以帮助我们追踪程序的执行流程和变量的变化。我们可以通过在配置文件中设置相应的参数,让 Xdebug 追踪和记录程序的每一步操作,以及输出和记录变量的值。这对于分析程序的执行顺序和检查变量的变化非常有用,可以帮助我们更好地了解程序的行为。 除了调试日志功能,Xdebug 还提供了一系列的性能分析功能。它可以生成函数调用图,并统计函数的执行时间和调用次数,从而帮助我们发现程序中的性能瓶颈。通过分析 Xdebug 生成的报告,我们可以定位到执行时间较长的函数,并优化它们以提高程序的性能。 总结来说,PHP Xdebug 是一个非常有用的工具,它可以帮助我们更好地调试、分析和优化 PHP 程序。通过使用 Xdebug,我们可以快速地定位代码中的错误,了解程序的执行流程和变量的变化,以及发现和优化程序的性能瓶颈。它是 PHP 开发者不可或缺的一款工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值