MacOS M1 arm64安装php-decimal时libmpdec检测失败问题问询
M1 Mac 安装php-decimal扩展报错解决方案
核心原因:M1芯片Mac的Homebrew默认将arm64架构软件安装在/opt/homebrew路径下,你当前configure检测到的/usr/local/lib下的libmpdec为Intel架构版本,和M1架构不兼容,导致链接校验失败。
步骤1:确认mpdecimal实际安装路径
执行以下命令获取arm64版本mpdecimal的真实安装路径:brew --prefix mpdecimal
正常输出为/opt/homebrew/opt/mpdecimal,后续命令以该路径为准。
步骤2:指定编译参数执行pecl安装
通过PKG_CONFIG_PATH指定libmpdec的pkgconfig路径后执行安装:
PKG_CONFIG_PATH="/opt/homebrew/opt/mpdecimal/lib/pkgconfig" pecl install decimal
备选方案:手动编译安装
若上述命令仍失败,可手动下载php-decimal源码编译:
- 解压php-decimal源码包后进入目录
- 执行对应版本的phpize:
/Applications/MAMP/bin/php/php8.0.8/bin/phpize - 执行configure配置,手动指定libmpdec路径:
./configure --with-php-config=/Applications/MAMP/bin/php/php8.0.8/bin/php-config --with-libmpdec=/opt/homebrew/opt/mpdecimal
- 编译并安装:
make && make install - 编辑对应php.ini文件添加
extension=decimal.so,重启MAMP的PHP服务即可。
安装验证
执行命令php -m | grep decimal,输出decimal即为安装成功。
注意:如果你安装的MAMP为Intel架构版本,需要先执行arch -x86_64 zsh切换到x86_64执行环境后,再执行上述安装操作。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

