Mac下XDebug安装

news2024/11/25 22:38:49

文章目录

  • 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.coloradmin.cn/o/1607085.html

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

相关文章

SPI总线通讯协议

文章目录 SPIQSPISPI配置SPI读写一个字节W25Q128初始化读取SPI FLASH写SPI FLASH SPI SPI:串行外围设备接口(Serial peripheral interface),一种高速, 全双工、同步的通信总线。 SPI使用4条线通信: MISO:主设备数据输入&#xf…

为主机配置IP

第一种方法:nmcli #nmcli connection modify eth0 ipv4.method manual ipv4.addresses 172.25.254.100/24 ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114.114 autoconnect yes #nmcli c up etho //激活网卡命令(网卡早就配好,只是修改ip就不用输入这条命令了) 第二…

【解决】echarts条形图纵坐标显示不全

先说结论: option:{...grid: {containLabel: true},... }这个属性是控制整体的坐标标签的。加上这个就可以显示完整了。然后再根据其他属性调整标签的字体、颜色之类的 yAxis : [{...axisLabel:{width:100,overflow:break,truncate:...,color:red,fontSize:10,},..…

PHP定时任务框架taskPHP3.0学习记录5环境部署常见问题及解决方案

php版本问题 当出现一下错误,说明php版本不支持,建议升级php版本,至少>5.6 Failed loading /usr/local/zend/php55/ZendGuardLoader.so: /usr/local/zend/php55/ZendGuardLoader.so: undefined symbol: zval_used_for_init PHP Warning:…

计算机网络:CSMA/CA协议

计算机网络:CSMA/CA协议 CSMA/CA概述帧间间隔工作原理退避算法虚拟载波监听 CSMA/CA概述 讲解CSMA/CA之前,我们回顾一下CSMA/CD的三个特性: 多址接入MA:多个主机连接在一条总线上,竞争使用总线 载波监听CS&#xff1a…

Grass注册不了、按钮灰色的解决方案

近期相信grass挂机项目不少人有所有接触。还有不了解这个项目的可以看看博客: http://t.csdnimg.cn/bI4UO 但是不少人注册时遇到无法注册的问题,或者是注册按钮显示灰色,放上鼠标时显示禁止。这也是博主在尝试时遇到的问题。 经过探索&…

【HarmonyOS 4+NEXT】开发工具安装指南

🙋‍ 一日之际在于晨 ⭐本期内容:开发工具安装 🏆系列专栏:鸿蒙HarmonyOS4NEXT:探索未来智能生态新纪元 文章目录 前言准备工作下载开发工具安装开发工具配置开发环境总结 前言 随着科技的不断进步,智能设…

Scrapy 框架基础

Scrapy框架基础Scrapy框架进阶 Scrapy 框架基础 【一】框架介绍 【1】简介 Scrapy是一个用于网络爬取的快速高级框架,使用Python编写他不仅可以用于数据挖掘,还可以用于检测和自动化测试等任务 【2】框架 官网链接https://docs.scrapy.org/en/late…

105.从前序遍历与中序遍历序列构造二叉树

力扣链接:105. 从前序与中序遍历序列构造二叉树 - 力扣(LeetCode) 问题主体: 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构…

Operating System Introduction

What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware 操作系统即用户与计算机硬件中的类似中介的程序 Operating system goals: Execute user programs and make solving user problems easier Mak…

代码随想录算法训练营DAY28|C++回溯算法Part.4|93.复原IP地址、78.子集、90.子集II

文章目录 93.复原IP地址思路确定非法的范围树形结构 伪代码 78.子集思路伪代码实现CPP代码 90.子集II思路CPP代码用used去重的办法用set去重的版本不使用used数组、set的版本 93.复原IP地址 力扣题目链接 文章讲解:93.复原IP地址 视频讲解:回溯算法如何分…

Hadoop数据压缩

Hadoop数据压缩 Hadoop 数据压缩是一种用于减少存储空间和网络传输成本的技术,通常应用于大数据处理场景。随着数据量的不断增长,对存储和网络带宽的需求也在增加,因此采用数据压缩技术可以有效地减少数据的存储和传输成本,提高数…

ERROR in [eslint] reorder to top import/first

情景再现:在react开发的时候,导入组件、函数时报错:Import in body of module; reorder to top import/first … 原因:在import语句前有变量声明 解决: 变量的声明,要放在import之后 // 错误示例 import {…

Transformer 代码详解(Pytorch版)

前言 基于上一篇经典网络架构学习-Transformer的学习,今天我们来使用pytorch 搭建自己的transformer模型,加深对transformer的理解,不仅在NLP领域绕不开transformer,而且在CV领域也是很火热,很多模型都用到了注意力机…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之三 简单人脸眼睛检测添加睫毛效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之三 简单人脸眼睛检测添加睫毛效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单人脸检测/识别实战案例 之三 简单人脸眼睛检测添加睫毛效果 一、简单介绍 二、简单人脸眼睛检测添加…

手机照片误删怎么恢复?别慌,教你轻松恢复!

如今数字化的时代,人们已经离不开手机,手机里珍藏的照片也成为了人与人之间的羁绊。然而有时候我们会因为手机故障或者操作失误,将手机照片误删。那么手机照片误删怎么恢复呢?三招教你找回误删的手机照片,有效实用且方…

激活函数:GELU(Gaussian Error Linear Units)

激活函数:GELU(Gaussian Error Linear Units) 前言相关介绍GELU(Gaussian Error Linear Units)代码示例 参考 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容,可点…

LUA脚本判断是否为空

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Lua是一个小巧的脚…

linux 的Jdk1.8详细安装部署教程

一、环境准备 1.下载安装包 下载地址,这是1.8的你也可以选择安装别的版本的 https://www.oracle.com/java/technologies/downloads/#java8-windows 选择想要的系统和对应的位数,点击下载即可 2.上传安装包 选择自己要安装的路径,&#x…

分步搭建HF区块链网络

一.搭建网络规划 采用容器环境,搭建1个排序节点(Orderer)、2个对等节点(Peer),另外用 一个fabric-cli容器。实训中的绝大部分命令是通过该容器执行的。 容器名称设置 二. 配置HF网络证书 首先docker ps 检查镜像,确保镜像为空 1.生成crypto…