原因
具体原因就是扩展不支持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文件即可安装成功