M1 Mac安装PHP的gnupg扩展失败求助
解决M1 Mac上PHP 8.2安装gnupg扩展提示
Please reinstall the gpgme distribution的问题 核心原因
M1 Mac的arm64架构下,brew安装的gpgme默认路径(/opt/homebrew)未被pecl编译脚本识别,导致无法找到头文件和库文件。
解决方案步骤
先确认gpgme安装路径,执行命令:
brew --prefix gpgme正常输出应为
/opt/homebrew/opt/gpgme,后续配置用简化路径/opt/homebrew即可。方式一:通过pecl指定gpgme路径安装
执行带配置参数的安装命令:pecl install --configureoptions='--with-gpgme=/opt/homebrew' gnupg若遇PHP版本兼容问题,指定适配PHP8.2的gnupg版本:
pecl install --configureoptions='--with-gpgme=/opt/homebrew' gnupg-1.5.1方式二:手动编译源码安装
- 下载扩展源码包:
pecl download gnupg-1.5.1 - 解压并进入目录:
tar -xzf gnupg-1.5.1.tgz && cd gnupg-1.5.1 - 生成编译配置文件:
phpize - 配置编译参数:
./configure --with-gpgme=/opt/homebrew - 编译并安装:
make && make install
- 下载扩展源码包:
最后配置PHP加载扩展
执行php --ini找到php.ini文件路径,添加一行:extension=gnupg.so保存后重启PHP服务即可生效。
特殊情况处理
若你的PHP是通过Rosetta(x86架构)安装的,先切换到x86环境安装gpgme:
arch -x86_64 brew install gpgme
再执行安装命令时指定x86架构的gpgme路径:
pecl install --configureoptions='--with-gpgme=/usr/local' gnupg
内容的提问来源于stack exchange,提问作者Hussain Shaikh
相关产品推荐
相关产品推荐

