Mac 编译安装 Swoole 遇到 .h 文件不存在问题解决方案

广告:宝塔Linux面板高效运维的服务器管理软件 点击【 https://www.bt.cn/p/uNLv1L 】立即购买

Mac 编译安装 Swoole 遇到 .h 文件不存在问题解决方案

前言

1. 其实我是真的没想过安装历程会这么 Emmm… 怎么描述呢,就是那种其实你要是说难也不难,但是就是也挺恶心,还有就是 Mac 的本机自带环境以及有些文件不自动加载引起的各种问题。

2.还有就是,这样的问题真的很少资料,所以记录一下。


本机环境

并且是 Xcode 处于未安装状态。本地自带 PHP 版本 7.3 本地的环境配置工具,用的是 MxSrvs ,一款 Mac 版 PHP 开发环境。工具官网:http://www.xsrvs.com/ 工具虽小,但是五脏俱全,开发完全足够。

重点问题1. 出现找不到 PHP 的头部文件

2. 出现找不到 Openssl 的头部文件(报错信息跟 PHP 的差不多)准备工作

官网需求 这里多说一句,虽然官方没有标注 autoconf 需要多少版本以上,但是编译安装的时候需要 2.68 及以上。

从 Git 下载源码包 下载地址,我下载的是

安装过程

因为是本地,所以我就把下载的包直接进入控制台目录了,就不写前面的什么CD目录之类的了,然后运行下面的代码,因为我要编译到工具里的 PHP 版本中,所以用的是工具提供的 phpzie

但是,你重启之后,每次都需要在命令行输入

source ~/.bash_profile
登录后复制登录后复制

来使之生效,这样就比较麻烦,我们可以利用 Mac 自动加载 .zshrc 文件的机制,把

source ~/.bash_profile
登录后复制

添加到文件尾,使之每次不需要人工输入。达到动态设置环境变量的目的。至此,第一个问题解决。

继续第二次安装,然后出现了第二个问题,解决这个问题,就比较绕了。 其实本质上遇到的问题都是同样的,都是因为 Mac 自带的软件,都没有这个 .h 的头文件,所以才出现这些问题的,第一个问题,通过绑定到工具的变量,实现了变更环境变量,算是取巧的一个处理方法,openssl 这个扩展讲道理还是用到的地方很多的,所以就安装在自己的机器整体环境中。 在安装 openssl 之前,需要先安装 Xcode ,这一步,我没有省去,好像在 Mac 上好多的环境变量都跟 Xcode 文件目录挂钩,着实恶心,但是也不能不安装,安装完之后,我们再安装 openssl ,命令行输入

如果检测到你的已经存在,会提示你重新安装可以运行

brew reinstall openssl@1.1
登录后复制

其中有一句,就是让把这个添加到

/usr/local/Cellar/openssl@1.1/1.1.1h/include/openssl
登录后复制

复制到

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/
登录后复制

目录下即可至此,第二个问题解决。

然后再运行编译 Swoole ,等待编译完成就可以了

成果

打完收工!

以上就是Mac 编译安装 Swoole 遇到 .h 文件不存在问题解决方案的详细内容,更多请关注9543建站博客其它相关文章!

广告:SSL证书一年128.66元起,点击购买~~~

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。

作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:使用PHP实现WebSocket服务
下一篇:thinkphp lnmp无法直接打开怎么办

发表评论

关闭广告
关闭广告