Mac下XDebug安装

devtools/2024/9/24 0:46:33/

文章目录

  • 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.ppmy.cn/devtools/8806.html

相关文章

【Redis(1)】Redis数据类型及使用场景

1.Redis是什么? Redis是一个开源的,高性能的键值存储数据库。它以其出色的性能、丰富的数据类型和原子操作而闻名。Redis支持多种类型的数据结构,如字符串、列表、集合、有序集合和哈希,使其成为存储各种数据的理想选择。 主要特…

【linux备份文件】将文件夹copy到另一位置解决方案

要将文件夹压缩成zip文件&#xff0c;可以使用以下命令&#xff1a; zip -r <压缩文件名.zip> <文件夹路径> 复制代码 其中&#xff0c;<压缩文件名.zip>是你希望生成的zip文件的名称&#xff0c;<文件夹路径>是需要压缩的文件夹的路径。 例如&#xf…

如何一次通过PMP考试?绝招在这里!

PMP考试的报考成本很大&#xff0c;如果不能一次性通过的话&#xff0c;后期仅补考金额就需要2500元&#xff0c;这次就来讲讲大家如何才能尽可能一次性过PMP&#xff0c;不用再花冤枉钱。 大家首先需要选择一个优秀的培训机构&#xff0c;不仅是因为这样学习效果更好&#xf…

运维前端vue部署

文章目录 一、本地环境准备二、代码结构及功能三、部署上线步骤简介补充代码操作命令 补充代码操作命令 四、接收后端数据统一接口五、其他 一、本地环境准备 1.node.js 安装&#xff08;建议版本&#xff1a;v14.16.0&#xff09; 参考&#xff1a;https://www.cnblogs.com/l…

数据库慢SQL排查及优化问题

找到查询会花费很长时间才能返回结果的sql语句。 考虑索引是否合理&#xff1a;确保查询使用了适当的索引。有时候&#xff0c;缺少或错误使用索引会导致查询变慢。 优化SQL&#xff1a;审查慢查询的SQL语句&#xff0c;看看是否可以通过改写查询或者使用更有效的SQL来提高性…

JavaScript之模块化规范详解

文章的更新路线&#xff1a;JavaScript基础知识-Vue2基础知识-Vue3基础知识-TypeScript基础知识-网络基础知识-浏览器基础知识-项目优化知识-项目实战经验-前端温习题&#xff08;HTML基础知识和CSS基础知识已经更新完毕&#xff09; 正文 CommonJS、UMD、CMD和ES6是不同的模块…

服务器负载均衡SLB/加密原理

多台服务器提供相同的服务 SLB(server load balancing) 多台服务器对应一个虚拟地址&#xff0c;该地址是防火墙虚拟出来的。 服务器负载均衡功能仅支持IPV4协议 多通道协议仅支持FTP协议

锐捷校园网自助服务系统 operatorReportorRoamService SQL注入漏洞致RCE漏洞复现

0x01 产品简介 锐捷校园网自助服务系统是锐捷网络推出的一款面向学校和校园网络管理的解决方案。该系统旨在提供便捷的网络自助服务,使学生、教职员工和网络管理员能够更好地管理和利用校园网络资源。 0x02 漏洞概述 锐捷校园网自助服务系统 operatorReportorRoamService 接…