m1 + swoole(hyperf) + yasd + phpstorm 安装和debug

参考文档 Mac M1安装报错 checking for boost... configure: error: lib boost not found. Try: install boost library · Issue #89 · swoole/yasd · GitHub

1.安装boost库

brew install boostbrew link boost

2.下载yasd

git clone https://github.com/swoole/yasd.git

3.编译安装

phpize --clean && \phpize && \./configure && \make clean && \make && \make install

安装遇到问题 

说明你的环境变量中没有引用到boost的库 需要按照你的路径添加环境变量

并且加到相应env下 加env

报错 ld: library not found for -lboost_filesystem

export CPLUS_INCLUDE_PATH=/opt/homebrew/Cellar/boost/1.78.0_1/includeexport LD_LIBRARY_PATH=/opt/homebrew/Cellar/boost/1.78.0_1/libexport LIBRARY_PATH="$LIBRARY_PATH:/opt/homebrew/Cellar/boost/1.78.0_1/lib"

软连接

报错 checking for boost... configure: error: lib boost not found.  Try: install boost library
 

ln -s /opt/homebrew/Cellar/boost/1.78.0_1/lib/libboost_filesystem.dylib /usr/local/libln -s /opt/homebrew/Cellar/boost/1.78.0_1/include/boost /usr/local/include/boost

继续设置 php.ini 文件:

我的目录在 /opt/homebrew/etc/php/7.4/php.ini

zend_extension=yasdyasd.debug_mode=remoteyasd.remote_host=127.0.0.1yasd.remote_port=9000

查看拓展是否安装正确 php --ri yasd 输出以下信息位正确

yasdYasd => enabled
Author => codinghuang <codinghuang@qq.com>
Version => 0.3.9-alpha
Built => Jan 10 2024 13:41:49Directive => Local Value => Master Value
yasd.breakpoints_file => no value => no value
yasd.debug_mode => remote => remote
yasd.remote_host => 127.0.0.1 => 127.0.0.1
yasd.remote_port => 9000 => 9000
yasd.depth => 1 => 1
yasd.log_level => -1 => -1
yasd.max_executed_opline_num => 0 => 0
yasd.init_file => no value => no value
yasd.open_extended_info => 0 => 0
xdebug.coverage_enable => 1 => 1
xdebug.profiler_enable => 1 => 1
xdebug.remote_autostart => 1 => 1
xdebug.remote_connect_back => 0 => 0
xdebug.remote_mode => req => req
xdebug.idekey => hantaohuang => hantaohuang

最后运行的时候 看看9000端口是不是被占用了。我调试了半天 提示 

[yasd] recv command error, connection closedlsof -i:9000

如果被占用更换一个端口就可以

php --ini |grep "ini"   

可以查看php配置文件路径。切记不要xdebug 和yasd同时打开。会起不来

Configuration File (php.ini) Path: /opt/homebrew/etc/php/7.4
Loaded Configuration File:         /opt/homebrew/etc/php/7.4/php.ini
Scan for additional .ini files in: /opt/homebrew/etc/php/7.4/conf.d
Additional .ini files parsed:      /opt/homebrew/etc/php/7.4/conf.d/99-xdebug.ini,

phpstorm 

只需要配置调试端口就可以

启动的时候要带-e参数

参考文档

Hyperf+PhpStorm+Yasd 实现Hyperf项目的debug调试与[yasd] recv command error, connection closed问题解决_[yasd] connect ide failed (connection refused), pl-CSDN博客

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

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

相关文章

太实用了!关于ControlNet,这篇你一定要看

一篇文章教会你&#xff0c;从入门到使用。 这里是行者AI&#xff0c;我们专注于人工智能在游戏领域的研究和应用&#xff0c;凭借自研算法&#xff0c;推出游戏AI、智能内容审核、数据平台等产品服务。 controlNet控制生成 anypaint 看到这篇文章的你&#xff0c;一定也是AI绘…

stm32的规则采样与注入采样的理解

规则与注入转换 在STM32中&#xff0c;规则采样&#xff08;Regular Conversion&#xff09;和注入采样&#xff08;Injected Conversion&#xff09;是用于模数转换的两种不同模式。 规则采样&#xff08;Regular Conversion&#xff09;&#xff1a;规则采样是STM32中最常用…

分布式(9)

目录 41.常见的JOB实现方案&#xff1f; 42.Cookie和Session有什么区别&#xff1f; 43.谈谈会话技术的发展&#xff1f; 44.分布式会话有哪些解决方案&#xff1f; 45.什么是Session Stick&#xff1f; 41.常见的JOB实现方案&#xff1f; 基于上面Java任务演化出分布式J…

Mendeley Word 文献引用

这里写目录标题 1. 下载Mendeley 并插入到Word1.1 下载安装1.2 在Word 中添加Mendeley 插件文献引用相关 1. 下载Mendeley 并插入到Word 1.1 下载安装 Mendeley 官网下载 1.2 在Word 中添加Mendeley 插件 打开 Mendeley&#xff0c;点击 Tools —>Install Mendeley Cite…

Python学习笔记-使用Anaconda+VSCode配置开发环境

文章目录 概述一、安装Anaconda1.1 下载软件1.2 安装anaconda1.3 配置环境 二、配置虚拟环境2.1 使用conda创建一个新的虚拟环境2.1.1 使用search指令查看支持的python的版本&#xff1a;2.1.2 使用create创建指定版本的虚拟环境&#xff1a;2.1.3 使用env list查看虚拟环境列表…

面试宝典进阶之redis缓存面试题

R1、【初级】Redis常用的数据类型有哪些&#xff1f; &#xff08;1&#xff09;String&#xff08;字符串&#xff09; &#xff08;2&#xff09;Hash&#xff08;哈希&#xff09; &#xff08;3&#xff09;List&#xff08;列表&#xff09; &#xff08;4&#xff09;Se…

Linux 网络层收发包流程及 Netfilter 框架浅析

1. 前言 本文主要对 Linux 系统内核协议栈中网络层接收&#xff0c;发送以及转发数据包的流程进行简要介绍&#xff0c;同时对 Netfilter 数据包过滤框架的基本原理以及使用方式进行简单阐述。 内容如有理解错误而导致说明错误的地方&#xff0c;还请指正。如存在引用而没有添…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷①

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷1 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷1 模块一 …

QT开发 QT5.15.2安装(换源极速安装)

▬▬▬▬▬▶QT安装◀▬▬▬▬▬ &#x1f384;QT下载器获取 点我下载(●’◡’●) &#x1f384;下载器放自定义文件夹(路径全英文) 文件名改短好操作 &#x1f384;在自定路径唤出cmd窗口 &#x1f384;输入命令开始换源安装 ins.exe --mirror https://mirrors.ustc.ed…

什么是Modbus协议?

Modbus协议是一种在工业自动化领域广泛应用的通信协议&#xff0c;它允许不同设备之间进行可靠的数据交换和控制。该协议最初由Modicon公司于1979年创建&#xff0c;旨在提供一种简单而有效的方法&#xff0c;使PLC&#xff08;可编程逻辑控制器&#xff09;和其他自动化设备能…

8年经验之谈 —— 服务端性能瓶颈定位思路总结!

01、软件性能测试目标 软件性能测试的目的主要有以下三点&#xff1a; 评价系统当前性能&#xff0c;判断系统是否满足预期的性能需求。 寻找软件系统可能存在的性能问题&#xff0c;定位性能瓶颈并解决问题。 判定软件系统的性能表现&#xff0c;预见系统负载压力&#xff…

Java中的输入输出处理(一)

文件 文件&#xff1a;文件是放在一起的数据的集合。比如1.TXT。 存储地方&#xff1a;文件一般存储在硬盘&#xff0c;CD里比如D盘 如何访问文件属性&#xff1a;我们可以通过java.io.File类对其处理 File类 常用方法&#xff1a; 方法名称说明boolean exists()判断文件或目…