macbook M1安装php扩展报错but is an incompatible architecture (have ‘arm64‘, need ‘x86_64‘)

文章讲述了由于系统架构为arm64,而扩展不支持该架构,导致需要在MAMP环境中手动下载memcache扩展源码,并通过arch-x86_64命令重新编译以适应x86_64环境。步骤包括下载扩展、移动到PHP扩展目录、编译及安装,最后在php.ini中启用扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因

具体原因就是扩展不支持arm64,需要x86_64运行,可以使用终端运营uname -a查看系统环境
在这里插入图片描述
如上图可能是arm64,也可能是arm64e 或者x86_64,

解决

我们根据报错具体处理,have 'arm64',need 'x86_64',说明当前是arm64,需要x86_64运行,我们重新编译安装一下,我们以集成环境mamp安装php扩展memcache为例:
1.下载支持php7.4的memcache扩展
https://pecl.php.net/get/memcache-4.0.5.2.tgz
2.将下载的拓展解压并移动到php扩展目录下

# 移动到php扩展目录下
mv memcache /Applications/MAMP/bin/php/php7.4.21/include/php/ext/

3.进入memcache目录开始编译,在编译命令前添加arch -x86_64命令依次执行

arch -x86_64 /Applications/MAMP/bin/php/php7.4.21/bin/phpize

arch -x86_64 ./configure --with-php-config=/Applications/MAMP/bin/php/php7.4.21/bin/php-config --with-zlib-dir=/Applications/MAMP/Library --enable-memcache-session=yes

arch -x86_64 make

arch -x86_64 make install

4.源码安装后将extension=memcache.so添加到php.ini文件即可安装成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值