Mac下XDebug安装

文章目录

  • 1、下载对应的版本
  • 2、编译XDebug
  • 3、配置XDebug
  • 4、配置PhpStorm
  • Debug一下

在这里插入图片描述

前置工作

  1. Mac下安装Homebrew
  2. Mac下brew安装php7.4

1、下载对应的版本

首先按照支持的版本和兼容性来下载对应的版本,此表列出了仍支持哪些 Xdebug 版本,以及哪些版本可用于较旧的 PHP 版本。一般来说,在任何时候发布 Xdebug 版本时,它都会支持当前支持的PHP 版本。
在这里插入图片描述
作者本地的php版本为7.4,支持的Xdebug版本为3.1、3.0、2.9、2.8。凭着“用心不守旧”的原则,这里小编下载 3.1.4。xdebug历史版本下载链接
在这里插入图片描述

2、编译XDebug

1、解压下载完成后,进入该文件所在目录,解压它

gwh@GWdeMacBook-Pro [10:47:28] [~/Documents/Software/tools/xdebug]
-> % tar -xvzf xdebug-3.1.4.tgz

在这里插入图片描述
2、进入源文件夹

gwh@GWdeMacBook-Pro [10:50:21] [~/Documents/Software/tools/xdebug]
-> % cd xdebug-3.1.4

3、运行phpize命令

gwh@GWdeMacBook-Pro [10:50:33] [~/Documents/Software/tools/xdebug/xdebug-3.1.4]
-> % phpize

4、通过configuremake 编译源文件

gwh@GWdeMacBook-Pro [10:50:48] [~/Documents/Software/tools/xdebug/xdebug-3.1.4]
-> % ./configure
gwh@GWdeMacBook-Pro [10:51:52] [~/Documents/Software/tools/xdebug/xdebug-3.1.4]
-> % make

编译完成后,会生成一个新的文件夹modules,其中包含以下文件
在这里插入图片描述

3、配置XDebug

这里我们需要先知道本地的php所在目录:

  • php:/opt/homebrew/opt/php@7.4/bin
  • php.ini文件: /opt/homebrew/etc/php/7.4

php.ini 配置文件中添加关于 xdebug.so 语句
在这里插入图片描述
在文件的结尾处添加下面这些语句,注意xdebug.so文件目录换成自己本机的!

zend_extension=/Users/gwh/Documents/Software/tools/xdebug/xdebug-3.1.4/modules/xdebug.so
xdebug.remote_handler="dbgp"
xdebug.client_host=localhost
xdebug.client_port=9001
xdebug.idekey=phpstorm
xdebug.start_with_request=yes
xdebug.mode=debug

之后可以用./php -m来查看是否载入成功

gwh@GWdeMacBook-Pro [11:13:15] [/]
-> % ./opt/homebrew/opt/php@7.4/bin/php -m
[PHP Modules]
bcmath
// 此处省略许多...
Xdebug
Zend OPcache

4、配置PhpStorm

1、创建一个服务器

2、设置Dgbp代理,要和php.ini配置的一样。
在这里插入图片描述
3、修改调试端口,要和php.ini一样
在这里插入图片描述
4、创建一个php web页面,服务器选我们第一步创建的那个,点击验证可以检测我们的调试配置。

在这里插入图片描述
在此步骤,如果您需要先配置一下自己的默认php路径,直接按照说明配置就好了

Debug一下

1、以debug的方式启动单元测试
在这里插入图片描述
2、我们发现已经走到断点处了!自此 success 👏
在这里插入图片描述

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

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

相关文章

GPT的全面历史和演变:从GPT-1到GPT-4

人工智能新篇章:GPT-4与人类互动的未来! 本文探讨了生成式预训练 Transformer (GPT) 的显着演变,提供了从开创性的 GPT-1 到复杂的 GPT-4 的旅程。 每次迭代都标志着重大的技术飞跃,深刻影响人工智能领域以及我们与技术的互动。 我…

linux+ndk把jni制作成so库供apk使用(基础)

环境配置之类的我之前的博客有写,这篇文章我们就直接开始 1.在有ndk配置的服务器创建文件夹,文件夹再创建jni文件夹,jni文件夹里面放置Application.mk,Android.mk与test.c,因为我的ndk运行配置默认是项目下面的jni目录,所以我需要多一个jni目录 2.这里的Application.mk写的是架…

OpenHarmony语言基础类库【@ohos.util (util工具函数)】

ohos.util (util工具函数) 该模块主要提供常用的工具函数,实现字符串编解码([TextEncoder]),[TextDecoder])、有理数运算([RationalNumber8])、缓冲区管理([LRUCache9])、范围判断&…

5款好用的监控员工电脑软件推荐 (如何监控员工上班工作情况)

在现代的商业环境中,管理和监控员工的工作内容是至关重要的。 为了确保员工的工作效率和质量,公司需要使用一些工具来监控他们的工作进程。 以下是五款实用的监控员工工作内容的软件。 域智盾软件 域智盾是一款专为企业打造的智能管理系统。 它借助人…

Vivado-IP-DDS and Testbench Learning

DDS内部结构 实现流程 首先新建一个工程,创建bd文件,添加DDS Compiler核,此处不多赘述 Block Design 在观测输出的信号时,需要将最高位符号位的信号取反,这样才能输出正弦波,否则输出的波形如下图所示 将t…

暴雨亮相CCBN2024 助力广电行业数智化转型

4月23日,第三十届中国国际广播电视信息网络展览会(简称CCBN2024)在北京开展,本次展览会由国家广播电视总局指导、广播电视科学研究院主办,作为国内广电视听领域首个综合性、专业化、引领性、国际化科技产业盛会&#x…

第三节课,后端登录【1】

一、总任务 二、登录接口 get 请求,有缺陷,长度有限制 三、登录逻辑 四、代码书写位置 4.1 编写业务逻辑的位置 五、写代码 5.1 代码1 5.1.1 细节 按 CtrlAltShiftL ,快速格式化 5.1. 2 自动生成接口参数 先/** 再回车 效果图 5.2 按 alt enter …

ffmpeg与sdl的个人笔记

说明 这里的ffmpeg基础知识和sdl基础知识仅提及与示例代码相关的知识点, 进阶可学习雷神的博客。 https://blog.csdn.net/leixiaohua1020 当然,如代码写的有问题或有更好的见解,欢迎指正! 音视频基础知识 在学习音视频理论知识时&#xff…

德思特车载天线方案:打造智能互联的公共安全交通网络

作者介绍 一、方案介绍 随着自动驾驶与智慧汽车概念的逐步推进,人们对汽车的交互性、智能性、互联性有了更高的要求。今天,大多数汽车制造商和供应商普遍将GNSS定位功能与其他信号如广播、电视、蓝牙、Wifi一起集成到汽车中,包括博世、大陆、…

LabVIEW学习记录2 - MySQL数据库连接与操作

LabVIEW学习记录2 - MySQL数据库连接与操作 一、前期准备1.1 windows下安装MySQL的ODBC驱动 二、LabVIEW创建MySQL 的UDL文件三、LabVIEW使用UDL文件进行MySQL数据库操作3.1 建立与数据库的连接:DB Tools Open Connection.vi3.2 断开与数据库的连接:DB T…

【C语言】贪吃蛇详解(附源码)

一、贪吃蛇实现效果 【C语言】贪吃蛇(控制台) 二、源码 🎈🎈🎈Snake 残风也想永存/C语言项目 - 码云 - 开源中国 (gitee.com)🎈🎈🎈 三、如何使用C语言去实现一个贪吃蛇&#xff1f…

【04-提升模型性能:集成学习与超参数优化】

文章目录 前言集成学习BaggingBoosting超参数优化随机搜索贝叶斯优化总结前言 在前几篇博文中,我们已经介绍了一些机器学习的基础知识、Scikit-learn的核心工具与技巧,以及如何评估模型性能。本篇博文将重点讲解两个可以显著提升机器学习模型性能的高级策略:集成学习和超参数…

【ARMv9 DSU-120 系列 8 -- L3 Cache 详细介绍】

请阅读【Arm DynamIQ™ Shared Unit-120 专栏 】 文章目录 L3 Cache In DSU-120L3 cache allocation policyCache WaysL3缓存分区和带宽分区L3 cache partitioningBandwidth partitioningCache stashingL3 Cache In DSU-120

【机器学习】集成学习---投票法(Voting)

一、引言 集成学习(Ensemble Learning)是机器学习领域中的一种重要策略,它通过结合多个模型的预测结果来提高整体性能。在单个模型容易过拟合或欠拟合的情况下,集成学习能够通过综合多个模型的优点来减少这种风险,从而…

OceanBase v4.2特性解析:Oracle 的XML Type兼容

概述:在OceanBase 的Oracle模式支持XMLType特性后,OceanBase拥有了XML的数据存储、计算、分析能力。用户无需将XML数据作为文本存储,在业务代码中解析并操作XML文本,而是可以直接基于XML内置的能力,对XML数据进行存储、…

Web前端一套全部清晰 ① 学习路线

一切都会好的,我一直相信 —— 24.4.25 基础入门:HTML5CSS3移动web技术进阶: JavaScript全套(js基础Web APIsjs进阶) ——> 《框架前置课》AJAX-Node.js-Webpack-GitVUE开发: 框架前置课Node.js&es6 ——> Vue2Vue3全套 ——> iHRM人力资源后台管理项 …

SOLIDWORKS代理商能够提供哪些服务?

​​ SOLIDWORKS是一款由法国达索系统公司开发的一款三维计算机辅助设计(3D CAD)软件。在华南区鑫辰科技是SOLIDWORKS代理商,他为广大用户提供了专业的售前咨询、培训和售后服务。 一、SOLIDWORKS代理商的角色与职责 1.售前咨询:SOLIDWORKS代理商在售前…

【北京迅为】《iTOP龙芯2K1000开发指南》-第三部分 迅为龙芯开发板快速体验

龙芯2K1000处理器集成2个64位GS264处理器核,主频1GHz,以及各种系统IO接口,集高性能与高配置于一身。支持4G模块、GPS模块、千兆以太网、16GB固态硬盘、双路UART、四路USB、WIFI蓝牙二合一模块、MiniPCIE等接口、双路CAN总线、RS485总线&#…

冰蝎、蚁剑和哥斯拉

冰蝎、蚁剑和哥斯拉都是常见的远程管理工具,它们的原理是通过在受害者主机上部署后门程序,通过远程控制的方式进行攻击。然而,它们在功能上存在一些差异。 冰蝎主要通过Java Web服务器实现远程控制。攻击者首先在受害者机器上植入后门&#x…

学习笔记 - AI大模型部署-环境

AI大模型部署-环境 环境 环境 cuda与pytorch pytorch需要和cuda版本匹配,否则在 import torch torch.cuda.is_avvailable()测试中会返回false,意味着torch和cuda不匹配无法正常调用gpu去进行训练和推理 怎么根据自己的cuda和想要的torch版本进行安装 …