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

MacOS Sonoma下通过Brew为PHP7.1.33装mcrypt扩展遇错求助

解决PHP 7.1.33安装mcrypt扩展编译报错问题

问题背景

基于PHP 7.1.3的旧项目,通过brew安装了shivammathur/php/php@7.1(7.1.33版本),已成功安装mongodb扩展,但安装mcrypt-1.0.7时编译报错undefined reference to php_mcrypt_filter_create,项目依赖mcrypt_decrypt函数,无法更换替代方案。

解决方案步骤

1. 安装系统依赖的libmcrypt库

首先确保系统已安装mcrypt的底层依赖库:

brew install libmcrypt

2. 手动下载并编译mcrypt扩展源码

避免直接用pecl安装时的自动配置问题,手动编译指定依赖路径:

# 下载mcrypt-1.0.7源码包(可通过pecl命令:pecl download mcrypt-1.0.7)
tar zxf mcrypt-1.0.7.tgz
cd mcrypt-1.0.7

# 初始化编译环境(使用php@7.1的phpize)
/usr/local/opt/php@7.1/bin/phpize

# 配置编译参数,指定php-config和libmcrypt路径
./configure \
  --with-php-config=/usr/local/opt/php@7.1/bin/php-config \
  --with-mcrypt=$(brew --prefix libmcrypt)

# 编译并安装
make && make install

3. 启用mcrypt扩展

找到php@7.1的php.ini文件(通常路径为/usr/local/etc/php/7.1/php.ini),添加以下内容:

extension=mcrypt.so

4. 验证安装结果

执行命令验证扩展是否加载成功:

php71 -m | grep mcrypt

如果输出mcrypt,说明安装成功,此时mcrypt_decrypt函数即可正常使用。

额外排查点

  • 如果make仍报错,检查是否安装了Xcode Command Line Tools:xcode-select --install
  • 确认brew --prefix libmcrypt输出的路径正确,若libmcrypt安装在其他路径,手动替换该参数值

内容的提问来源于stack exchange,提问作者Prabowo Murti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 18:31:14