最近搞了一台 M1 的 Mac mini 准备用这个开发 mixphp v3 版本,之前尝试了几次没有编译成功,今天再次尝试安装成功了,网络上很多人的文章存在问题(可能是系统环境不同),特此分享让后续的人闭坑。
面临的问题
由于最新版本的 macOS Big Sur 即便关闭安全模式 /usr/lib 也无法写入文件,因此导致 make install 无法安装任何 php 扩展,因此想装 Swoole 只能自行编译安装 php 到 /usr/local 目录
% csrutil status
System Integrity Protection status: disabled.
% mkdir /usr/lib/php/extensions/test
mkdir: /usr/lib/php/extensions/test: Read-only file system
PHP Build
由于 brew arm64 版本无法使用,只能采用 x64 版本安装了一些依赖,后面导致了很多问题,本想编译一个 x64 PHP+Swoole 在编译 x64 Swoole 的时候异常就没有继续了,转而研究 arm64 PHP+Swoole
arch -x86_64 brew install openssl zlib curl libjpeg libpng libxml2 gettext freetype pcre libiconv libzip
参数中的路径都需要根据自己电脑所安装的实际路径替换
./configure --prefix=/usr/local/php8.0.7 --with-config-file-path=/usr/local/php8.0.7/etc --with-config-file-scan-dir=/usr/local/php8.0.7/etc/php.d

本文详细记录了在Mac Silicon M1上编译安装PHP8和Swoole4.6的全过程,包括解决/usr/lib写入权限问题,编译安装openssl、iconv、oniguruma等依赖,以及在遇到错误时的处理方法,旨在帮助开发者避免踩坑。
最低0.47元/天 解锁文章
1208





