You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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
    
  • 方式二:手动编译源码安装

    1. 下载扩展源码包:
      pecl download gnupg-1.5.1
      
    2. 解压并进入目录:
      tar -xzf gnupg-1.5.1.tgz && cd gnupg-1.5.1
      
    3. 生成编译配置文件:
      phpize
      
    4. 配置编译参数:
      ./configure --with-gpgme=/opt/homebrew
      
    5. 编译并安装:
      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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:37:20