Mac High Sierra下通过Homebrew/Core安装mcrypt和intl的问题求助
解决Mac OS High Sierra下通过Homebrew安装mcrypt和intl扩展的问题
我之前在High Sierra上遇到过完全一样的问题,折腾了好一会儿才搞定,分享下我的解决步骤:
先处理intl扩展
首先要确认几个关键点:
- 先检查你当前用的是不是Homebrew安装的PHP:执行
which php,如果输出是/usr/local/bin/php才是Homebrew版本;如果是/usr/bin/php,说明系统自带的PHP优先级更高,需要调整环境变量:- 如果你用的是bash,执行
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile,然后source ~/.bash_profile - 如果你用的是zsh,执行
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc,然后source ~/.zshrc
- 如果你用的是bash,执行
- 重新检查intl是否存在:执行
php -m | grep intl,如果有输出说明已经正常加载;如果还是没有,尝试重新安装PHP并确保编译时包含intl:
(Homebrew的PHP公式默认应该包含intl,大概率是环境变量的问题导致你调用的是系统PHP)brew reinstall php --enable-intl
再处理mcrypt扩展
因为PHP 7.2及以后版本已经弃用了mcrypt,Homebrew core里也没有对应的公式了,所以只能通过PECL安装:
- 先安装编译依赖:
brew install autoconf - 安装适配PHP7.2+的mcrypt版本:
安装过程中如果提示pecl install mcrypt-1.0.4Enable mcrypt extension?,输入yes回车即可 - 找到你的PHP配置文件位置:
php --ini | grep "Loaded Configuration File" - 编辑这个php.ini文件,在末尾添加一行:
extension=mcrypt.so - 重启PHP服务(如果用了PHP-FPM的话):
brew services restart php - 最后验证安装:
能看到输出就说明成功了php -m | grep mcrypt
额外注意事项
确保你已经安装了Xcode命令行工具,不然编译过程可能会报错:
xcode-select --install
内容的提问来源于stack exchange,提问作者ywtstewart
相关产品推荐
相关产品推荐

