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

这篇具有很好参考价值的文章主要介绍了PHP开发日志 ━━ php8.3安装与使用组件Xdebug。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天开头写点历史:

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

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

PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

一、概况

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
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试
  • 选择download
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试
  • 下载
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

2. 导航下载

https://xdebug.org/wizard

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

  • 在php页面中写上
phpinfo();
  • 运行php获得内容
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

  • 复制源代码
    ctrl + u 打开源代码界面,复制相关内容,一般前后有<table></table>标签。
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

  • 黏贴分析
    黏贴至官网导航文本框后点击按钮 Analyse my phpinfo() out 开始分析。
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

  • 下载
    根据分析结果点击其所提供下载
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

三、安装

PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

1. 放置与更名

根据导航提示,将下载好的Xdebug组件放入php的ext目录中,并将文件更名为 php_xdebug.dll
PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

2. 修改php.ini

在最后写入一行:

zend_extension = xdebug

3. 重启服务器

  • 重启后浏览器中打开php文件,拉到中后部可看到
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

4. 安装分析

可以参考前面示例,将该页代码中涉及php信息的源代码复制黏贴到向导页面
PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试
得到分析结果
PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试
如果上图红框位置显示版本号,那么恭喜安装成功了。

四、功能

1. Development Helpers 开发助手

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

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

xdebug.mode = develop

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

PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

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. 下载插件

PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

2. 配置

  • 必须打开Xdebug的debug功能,即在php.ini中开启
xdebug.mode = debug
xdebug.start_with_request = yes
  • 在VSCode的调试中激活参数
    PHP开发日志 ━━ php8.3安装与使用组件Xdebug,PHP,php,开发语言,xdebug,php8,debug,测试,调试

参考文章来源地址https://www.toymoban.com/news/detail-782945.html

  • Windows安装PHP调试工具Xdebug
  • PHP:使用xdebug profiler 做性能分析
  • windows下全免费手动搭建php8+mysql8开发环境及可视化工具安装
  • PHP开发日志 ━━ IIS7安装PHP8.0及多个版本如何同时存在一台服务器
  • 怎么在VS Code编辑器玩转PHP开发

到了这里,关于PHP开发日志 ━━ php8.3安装与使用组件Xdebug的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu安装php8.1

    PHP8是PHP最新的Release版本,在这个版本也加入了很多新的功能。 但是在Ubuntu的默认apt库里,找不到PHP8,因此需要稍微做一些额外操作才能安装。 这个库来自于Ondřej Surý,他维护了一个包含了PHP最新版的库。 安装完成后,输入php --version 可以看到版本信息 extension 可以替换任

    2024年02月03日
    浏览(30)
  • docker容器中扩展安装(PHP8)

    Docker容器是轻量级虚拟化技术的一种实现,可以在一个宿主机上运行多个隔离的应用容器。 Docker镜像是个可执行的文件,它包含了运行一个特定应用程序所需的一切组件。从Docker Hub上下载的镜像可能会缺少某些特定的软件包或库文件,因此我们需要在镜像中安装必要的工具

    2024年02月06日
    浏览(35)
  • php8.0.0安装体验和扩展介绍流程

    安装前的扯犊子科普工作 SAPI:接受并处理请求。 Zend Engine:PHP 的核心,负责分析 PHP 代码并转为 opcode,然后在 Zend VM 虚拟机上执行。 PHP 功能函数及扩展层:实现各种功能,例如 curl 通信、连接 MySQL 等。 把扩展编译进 PHP 通过 pecl 命令或 Linux 发行版自带的 yum、apt-get 等命令

    2024年02月02日
    浏览(48)
  • 宝塔面板如何针对PHP8.1安装zip扩展

    方法一: 如果你没有启用zip扩展,则需要在宝塔中进行安装,并且在php.ini中启用 安装libzip-1.2.0 你可以在任意的路径下载libzip-1.2.0.tar.gz,然后解压缩,进入 libzip-1.2.0 ,编译安装即可 wget https://libzip.org/download/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make ma

    2024年02月07日
    浏览(72)
  • php8.2 编译安装(详细)+ bash脚本 (多linux版本)

    编译安装php8.2.10(2023.9.17更新) 以下操作在debian12(deb系-debianubuntu)和rocky9.2(red hat系-centosrocky linuxoracle linux)都测试过 仅限linux系统 在全文的最后,我写了bash脚本(只支持deb系),可以参考,直接运行bash脚本一键编译安装 1.下载并解压源码包 php官方下载页面 在/usr/l

    2024年02月06日
    浏览(50)
  • windows11 phpstudy_pro php8.2 安装redis扩展

    环境:windows11 phpstudy_pro php8.2.9 一、命令查看是否安装redis扩展 在对应网站中通过打开, ,选择对应的PHP版本,用命令 php -m 查看自己的php 有没有redis扩展 上面如果有,说明已经安装了,如果没有安装; 二、下载适用于 PHP 8.2 的 Redis 动态链接库扩展文件 使phpinfo()函数查看PH

    2024年01月24日
    浏览(49)
  • PHP8条件控制语句-PHP8知识详解

    我们昨天说了流程控制的结构有顺序结构、选择结构和循环结构。选择结构就是条件结构。 条件控制语句就是对语句中不同条件的值进行判断,进而根据不同的条件执行不同的语句。 在本文中,学习的是if语句、if…else语句、if…elseif语句和switch语句。 1、if语句 if语句是最为

    2024年02月14日
    浏览(51)
  • PHP8的数据类型-PHP8知识详解

    在PHP8中,变量不需要事先声明,赋值即声明。 不同的数据类型其实就是所储存数据的不同种类。在PHP8.0、8.1中都有所增加。以下是PHP8的15种数据类型: 1、字符串(String):用于存储文本数据,可以使用单引号或双引号来定义字符串。 2、整数(Integer):用于存储整数值,可

    2024年02月14日
    浏览(42)
  • Centos7.9服务器编译安装Nginx1.24.0和php8.3

    服务器nginx原版本有安全漏洞,需要升级,由于原始是yum源安装,通过yum直接升级,无法正常升级完成,故而需要卸载yum源,重新编译安装。 1、查看原来nginx版本,ps查看原来nginx进程,运行状态: 查看nginx版本号为1.20:

    2024年02月20日
    浏览(45)
  • PHP8的运算符-PHP8知识详解

    运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。 PHP8的运算符有很多,按类型分有一元运算符、二元运算符、三元运算符。 一元运算符只对一个表达式执行操作,只能接受一个值,例如 !(逻辑取反

    2024年02月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包