Xdebug的安装、配置和使用,结合phpstorm断点调试

XDEBUG 从入门到精通 前言 Xdebug是PHP的扩展,用于协助调试和开发。 它包含一个用于IDE的调试器 它升级了PHP的var_dump()函数 它为通知,警告,错误和异常添加了堆栈跟踪 它具有记录每个函数调用和磁盘变量赋值的功能 它包含一个分析器 它提供了与PHPUnit一起使用的代码覆盖功能。 猿生必备的工具。 但不推荐在生产环境中使用xdebug,因为他太重了。 安装 PECL 安装 pecl install xdebug zend_extension="/usr/local/php/modules/xdebug. 阅读详情

Xdebug的安装、配置和使用

 
对于我这么一个渣渣php码农,平时总觉得echo、var_dump、print_r就能满足我的调试需求了,最近公司开始一个新项目,要大量阅读调试旧的源码,echo和var_dump开始不够用了,于是装了一下xdebug扩展,配合phpstrom使用,效率啪啪啪往上涨,后悔用晚了,下面就如何安装和使用xdebug做一个简单的说明介绍。


1、什么是Xdebug?

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

2、如何下载安装Xdebug?

(1)下载

官网下载地址:https://xdebug.org/download.php

我们可以根据自己使用的php环境包括php版本、操作系统等选择好适配的版本扩展


(2)安装

对于win环境下开发的用户来说,一般使用的都是wamp或phpstudy这样的集成环境,我们只需要把dll(动态链接库)文件放到你的开发环境php对于版本下的目录即可,不过一般都会有内置xdebug.dll,如果没有的话,那就需要自己动手了。

例如,在phpstudy中,所有dll扩展防止的目录都是在对应的php版本目录下的ext文件夹,如图所示:


对于Linux用户来说,则要下载源码包就行编译安装了

tar -xvzf xdebug-2.1.2.tgz

cd  xdebug-2.1.2

phpize (如果phpize没有这个command,需要安装一次phpize。phpize可以让php支持扩展模块)安装phpize:sudo apt-get install php5-dev

如果安装了继续进行下面命令

./configure

make

make install

cp modules/xdebug.so /usr/lib/php5/20090626+lfs将xdebug.so文件移到php5下面

3、配置php.ini

对于win的用户

profiler_开头的配置项是xdebug的输出数据相关配置

Profiler_enable很明显表示是否启用xdebug的输出数据到文件中

Prifiler_output_dir是xdebug输出数据文件的目录

Remote开头的几个配置项也注意设置好

Dll文件的位置也要确认正确无误

对于Linux的用户

配置项和内容也是大同小异,不过引入扩展文件应该是.so后缀的

4、重启apache或nginx

win下的集成环境注意启用扩展

5、我们在根目录下写一个index.php,内容如下:

     <?php phpinfo(); ?>

访问localhost

          我们可以看到xdebug的相关配置,特别注意的是一个port的设置

        记住端口号,我们在下面配置phpstrom的xdebug时会用到,假如你的9000端口被其他软件应用所占用,要么关掉其他占用了9000的进程,要么重置xdebug的端口号,但建议还是采取第二种方式。

6、配置phpstrom的xdebug

(1)打开File -> Settings

(2)在Settings中搜索xdebug,检查端口号是否与我们刚才phpinfo()中显示的配置相同,改好注意apply

(3)添加php web application

点击Edit Configurations进入配置,下面的localhost和hezubao是我已经做好的配置

添加server站点

Name是我们xdebug的配置名称

Server是站点配置

Start URL是站点入口

配置好后,apply


7、调试使用

往事具备,现在我们来尝试使用一下,在上面的配置中,我将localhost的入口设为xdebug.php,现在在localhost的根目录下新增一个php文件,编辑内容如下:


我们设置第七行为断点,则代码执行到第七行出会挂起暂停下来

现在我们点击那个甲虫按钮,就开始xdebug调试了

我们可以看到跳转的网页一直都是正在加载的状态,说明代码确实执行到某个地方挂起了

现在我们回去看看phpstrom,左下方有输出程序代码中变量的值

下面我们可以使用Step Into的按钮单步调试我们的程序,调试过程中程序中的变量会不断显示在变量输出区域,如下图所示:

8、Xdebug的其他作用

很明显,有了xdebug我们不再需要在代码调试时对一些关键变量一个一个echo或var_dump了,而且我们可以使程序运行到断点时挂起,从而更加精确地锁定出bug的代码的位置。同时Xdebug具有追溯代码的跟踪回溯功能,这样在一些大型的程序的中,即使调用逻辑很复杂,我们也能顺蔓摸瓜一步步到达错误发生的地方。

除此之外,我们可以使用xdebug_time_index()来显示脚本运行时间;可以使用xdebug_memory_usage()来测定脚本占用内存;同时我们还可以查询xdebug的输出日志来查询程序运行的相关信息。

XDebug用法大全(二)断点调试和性能分析 Xdebug除了可以以堆栈跟踪的方式显示异常之外,还可以令PHP可以像C#那样进行断点调试,甚至对代码进行性能分析。 一、使用Eclipse+Xdebug进行断点调试 首先,需要安装后Eclipse的PHP环境,在Eclipse官网网站上已经有集成的安装包了。 第二步,安装Eclipse的PDT插件,“Help”=>“Install New Software”,在弹出的对话框中点击“Add. 阅读详情

相关推荐

phpstorm2019断点调式配置

运行环境: PHPSTORM版本 : 2019 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdebug版本一定要相对应 PHP安装xdebug扩展 php.ini的配置,下面的配置仅供参考,路径要换成自己的! [xdebug] zend_extension=“D:\wamp\php-5.6.2-...

coolwebgo的博客 2738

Xdebug的安装及使用

软件调试是泛指重现软件缺陷问题,定位和 查找问题根源,最终解决问题的过程,编写的程序不可能一直不出错,所以调试很重要定义1:软件调试是为了发现并排除软件程序中 的错误,可以通过某种方法控制被调试程序的执行过 程,以便随时查看和修改被调试程序执行状态的方法。在该定义中,软件测试属于软件调试的一部分,与 牛津词典中的调试定义类似。在牛津词典中调试定义 为:“识别和排除计算机硬件或软件中错误的过程。定义2:调试是执行一次成功的测试之后所要进 行的工作。所谓成功的测试,是指它可以证明程序没 有实现预期的功能。

天天学安全专属博客 3425

小案例:利用图床自动化批量上传图片并获取图片链接

用python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以。(需要安装Requests库) 因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接地址.txt”的文件,里面就是图片链接啦! 四、图片链接地址.txt(单张图片):...

采菊东篱下,Python满乾坤! 4413

下载以及配置xdebug

1.下载对应版本的xdebug xdebug官网下载地址:Xdebug: Downloads这里下载的如果没有跟你的php对应,那么等待你的就是一堆报错 网站提供了一个自动分析系统对应的xdebug版本,网址是: Xdebug: Support — Tailored Installation Instructions 在页面中需要粘贴进去php版本信息,也就是phpinfo()的信息 (不知道这个页面如何出现的,可以在你的php服务器程序目录下创建一个php文件,写入: <?php...

weixin_43888304的博客 2955

利用Arcgis提取nc数据并计算区域年均温

1.下载数据。2.解压数据至不含中文的路径中。打开工具箱中的多维分析工具-创建NetCDF栅格图层,导入数据。3.打开工具箱中的数据管理工具-图层和表视图-创建栅格图层,导入数据,对输出数据进行命名,得到月均温栅格数据。4.选择工具箱-Spatial Analyst工具(空间分析工具)-地图代数-栅格计算器,计算全国一年年均温。​5.将其导出为.tif格式数据,方便后期使用。6.选择工具箱-Spatial Analyst工具(空间分析工具)-区域分析--以表格显示分区统计,得到分区域的气温数据。

什么都学亿点点的博客 7993

GLM-5.2模型自部署实战:如何通过量化与vLLM优化实现远超官方API的推理速度

在大模型应用开发中,模型推理速度是影响用户体验和系统性能的核心指标。其原理在于通过优化计算图、内存管理和并行计算来提升吞吐量与降低延迟。技术价值体现在能够为高并发、低延迟的实时应用提供稳定高效的AI服务能力,广泛应用于智能客服、代码生成、内容创作等场景。其中,模型量化通过降低权重精度(如INT4/INT8)来大幅减少显存占用和计算量,而推理引擎(如vLLM)则通过连续批处理和PagedAttention等技术最大化硬件利用率。本文聚焦于GLM-5.2模型,详细阐述如何通过量化技术与vLLM推理引擎的深度优化

weixin_29032337的博客 319

xdebug使用教程

为什么需要Debugger? 很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数)。那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓。 什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(即一个Deb.

firstcode666的博客 4189

FlightStream实战:如何用面元法在笔记本电脑上完成无人机气动分析(附NASA案例)

本文详细介绍了如何利用FlightStream面元法在笔记本电脑上高效完成无人机气动分析,包括其核心技术优势、NASA D8案例实战解析及高效工作流建立。FlightStream作为快速CFD分析工具,显著提升了早期设计阶段的迭代速度,适用于概念设计验证和多气动构型比较。

weixin_28363123的博客 260

PHP调试(使用PHPStorm + Xdebug)

  1. 调试概述 PHPStorm可以实现的调试功能: [1] PHP中添加断点. [2] HTML 和 JavaScript 中添加断点. [3] 多个同步会话调试. [4] 可定制的断点调试属性 : conditions(条件), pass count(通过统计)等等. [5] 调试界面中包括 Frames, variables, 和 监控视图 views . [6] 运行可执行的表达式...

不忘初心,才能始终 4761

无人机通信安全渗透测试:从信号拦截到GPS欺骗的完整攻防框架

在物联网和智能设备普及的背景下,无线通信安全成为关键基础设施防护的核心环节。其原理在于,通过软件定义无线电等设备对空中的射频信号进行捕获、分析与模拟,从而评估通信协议在加密、认证和防重放等方面的脆弱性。这项技术的价值在于,它能主动发现并修复系统设计缺陷,避免因信号被拦截或欺骗导致设备被劫持、数据泄露等重大安全事件。其应用场景广泛,涵盖消费电子、工业控制及关键基础设施等领域。本文聚焦于无人机这一典型移动物联网终端,深入探讨如何构建一套针对其通信链路的渗透测试方法论,其中涉及信号拦截、协议逆向等关键技术,旨在为

weixin_34128237的博客 392

单目标跟踪算法及其复现过程---SiamFC(一)

在test.py文件中,就是利用训练出来的模型进行测试,需要更改预训练模型的路径,测试集的路径,以OTB100为例,最后输出的是对每一帧目标位置的坐标点。代码如下:首先需要下载got10k官方库,只需要在终端输入(注意:在终端安装各种库的时候不能使用网络代理),在环境已经配置到的情况下,只需要该其中的路径和就可以运行。这个系列博客仅为了记录各目标跟踪算法的复现(大多为跑通大佬们实现的代码),包括其中出现的很多问题和错误,学到的新知识等等。解决,而且只使用在线的方法,限制了他们可以学习的模型的丰富性。

weixin_58244117的博客 4762

php开发断点调试,Phpstorm+Xdebug断点调试PHP的方法

这篇文章主要介绍了Phpstorm+Xdebug断点调试PHP的方法,本教程将通过配置Xdebug扩展进行断点调试,目的在于提高大家的开发效率,感兴趣的小伙伴们可以参考一下为什么使用断点调试大家可能会觉得使用var_dump和echo也能调试啊,为什么还要安装Xdebug断点调试呢?确实是这样。但是var_dump和echo写的代码后面还要删除,而且明确是知道在哪打的,如果发现没有运行到打点的地方...

weixin_39792686的博客 258

高功率半导体叠阵激光快慢轴准直优化技术解析

本文深入解析了高功率半导体叠阵激光快慢轴准直优化技术。针对其光束发散特性,文章系统阐述了从光源建模、光学仿真到透镜选型与参数匹配的完整工程流程,并强调了光束整形对于提升加工精度与效率的核心作用。通过优化快慢轴准直,可将原始散光转变为能量集中、均匀性好的高质量光束,为后续工业应用奠定基础。

php55的博客 713

CentOS7 +Nginx + Phpstorm + Xdebug本地和远程断点调试配置教程

一、系统说明本篇使用vmware安装CentOS 7(下文简称虚机)搭建的Nginx服务器开发机配置的是Nginx + php7.1.14环境搭建这里不再赘述二、Xdebug的安装打开网址:https://xdebug.org/wizard.php运行php - i ,将结果全部复制放入上面网址中分析扩展必看地址:https://webtatic.com/packages/php71/直接 yum...

Mossad_Fred的博客 1702

Jetson AGX Orin平台Jetpack5升级Jetpack6,自研载板USB不工作问题调试

1. 问题描述将AGX Orin工业的新板放到定制的载板上当在ubuntu 22和Jetpack 6.1上使用SDKManager刷机时,lsusb为空,并且在引导时没有发现/注册xusb设备。USB C端口正常打开并供电,但似乎没有数据传输。在Ubuntu 18 Jetpack 5.1.4 SDKManager上同样刷机之后,usb C集线器在引导时被正确地发现,显示在lsusb中,并识别/挂载外部驱动器。

jzwjzw19900922的博客 1510

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ubuntu+phpstorm+xdebug断点调试.md

一:操作环境:  ubuntu 14.04 php5.5 +apache windows phpstorm  二:准备工作,在保证php与apache能够正常工作的情况下  1:sudo apt-cache search xdebug  先查找xdebug相关的软件名,然后安装php的  sudo apt-get install -y php5-xdebug  2:安装完成之后配置php.in

kai1992_zhang的博客 1825

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

laradock + xdebug + phpstorm + web调试关键点

2. phpstorm的DBGp代理,主机记得写成xdebug.ini中默认的host,我的默认是 host.docker.internal,如果写成别的域名可能不会成功debug断点,端口也需要跟xdebug.ini中的商品保持一致。1. laradock目录下php-fpm/xdebug.ini的remote_port记得改一下,默认9000也许会跟php-fpm的端口冲突而导致断点执行失败。先点电话图标开启监听,再点龟形图标开启调试。3.phpstorm开启php监听及调试。

weixin_40212006的博客 548

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

phpstorm 断点调试虚拟机中php项目(cli 项目)(PHP xdebug调试)

环境:代码开发环境mac  ,开发工具phpstorm; php项目运行环境 ; vmware 虚拟机中 , 操作系统 centos6.7, php 运行环境 LNMP, php 版本 7.3 ; 目标/需求:在开发环境中断点调试 PHP项目代码;最大限度根据真实操作场景来debug 如: 浏览器访问链接 http://laravel55.liang.com/orm1后;可以断点调试程序 应...

u013862108的博客 1716

PHPStorm+XDebug调试配置图文教程

  作为PHP程序员怎能不学断点调试呢?这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。   笔者的开发环境如下:Windows7+Apache+PhpStorm+XDebug+Chrome(XDebug helper 1.4.3插件)。一、XDebug安装配置(1)下载XDebug下载地址:http://...

weixin_30764137的博客 141

php性能测试下载,PHP性能测试利器-Xdebug和phpstorm

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。以下为Windows+Phpstorm+Xampp+Xdebug安装示例,MAC安装请参考集成开发和断点调试环境的配置Mac+PhpStorm+XAMPP+Xdebug。一、下载Xdebug在下载xdebu之前,我们需要先看下我们的php版本,找到与之对应的Xdebug版本下载即可...

weixin_39855568的博客 200

PHPStorm + Xdebug 调试PHP代码 有大用

星期四, 12/26/2013 - 19:54 — shipingzhong PHPStorm + Xdebug 调试PHP代码 http://e.v-get.com/2013-11-20 16:55:48E维科技 0 之前一直通过echo,var_dump,print_r等将变量输出来调试PHP,效率奇低。而使用Xdebug,就可以直接在...

weixin_30912051的博客 188

PhpStorm配置Xdebug(超详细)

phpStorm配置Xdebug断点调试 一、什么是Xdebug 作为程序员,在开发过程中,调试是一定会经历的过程,Xdebug是一个开放源代码的PHP程序调试器,可以帮助开发人员追踪、调试和分析PHP程序的运行状况。 二、安装步骤 获取并安装配置Xdebug Xdebug和当前使用的PHP环境版本有密切的关系,在下载时需要选择与之对应的版本。在选择版本时可以借助Xdebug官方提供的一个检测工具来快捷地选择合适的版本。 检测PHP环境信息。在本地站点中新建一个后缀为 .php 文件,在该文件中输入以下

m0_46641521的博客 1万+

如何愉快的在PhpStorm中进行Xdebug断点调试?

前言 如果你厌烦了 print_r 、 log 、 var_dump 这类一次调试一行的方式 如果你的业务复杂到一层又套一层,打 log 都救不了你的思路 如果你了解断点调试,但是还没有在 PhpStorm 中配置过 如果你想在前端页面 按菜单或按钮 调用 API 时,断点调试后端代码 如果你想用 Postman 访问 API 时,断点调试后端代码 参考文档 PHP xdebug ...

RobotYang123的博客 9229

phpstorm+Xdebug断点调试PHP

前言:        何为DEBUG?        相信很多程序员都知道debug这个单词,也明白它的意思,但是对于这词的由来,恐怕少有人知道。关于debug的由来,要追溯到1937年。1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机

hann的专栏 4万+

在PHPStorm下进行断点调试

在PHPStorm下断点调试代码需要安装XDebug插件,对于复杂的项目使用断点调试的效率要比使用echo、var_dump这样的传统调试方式要高,对于大多数不是高手的开发者来说使用断点调试也要比传统调试效率更高,因为你可以一边走,一边看每一个变量的结果。第一步,我们先建立一个输出php配置信息的文件。首先查找一下,有没有XDebug的信息;如果没有就去https://xdebug.org/下......

u012115562的博客 8264

Xdebug安装与PhpStorm调试配置

Xdebug 是 PHP 的一个扩展,提供了多种功能以改善 PHP 开发体验。单步调试:在脚本执行时于集成开发环境(IDE)或编辑器中逐行调试代码的一种方式。PHP 错误报告的改进:改进的 var_dump() 函数,针对提示、警告、错误和异常提供堆栈跟踪,以突出显示导致错误的代码路径。跟踪:将每个函数调用(包括参数和调用位置)写入磁盘。还包括每个函数中的变量赋值和返回值。资料收集借助可视化工具,让您能够分析 PHP 应用程序的性能并找出瓶颈。

疯子丶pony的博客 1018
上一篇: php -- 取路径:getcwd()、__DIR__、__FILE__ 的区别
下一篇: phpstorm设置文件头部注释信息,个性自定义
暴风雪24
博客等级 码龄10年 27粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值