MacOS High Sierra(MAMP PHP7.1)无法安装PHP Intl扩展求助
嘿,我之前在High Sierra上用MAMP的PHP7.1装Intl扩展时,也碰到过完全一样的报错,给你几个亲测有效的解决步骤:
先找MAMP自带的ICU库路径
MAMP默认已经内置了ICU库,不用额外安装,直接用下面的命令搜索icu-config文件(这个文件是ICU的配置工具,找到它就能确定ICU的前缀目录):find /Applications/MAMP -name icu-config执行后大概率会得到类似
/Applications/MAMP/Library/bin/icu-config的结果,那ICU的前缀目录就是/Applications/MAMP/Library(去掉末尾的/bin/icu-config)。指定ICU路径重新安装Intl扩展
找到路径后,重新执行pecl安装命令,直接指定ICU目录:pecl install intl --with-icu-dir=/Applications/MAMP/Library或者如果还是进入交互提示,在
Specify where ICU libraries and headers can be found [DEFAULT] :这一步输入上面的路径,不要直接回车。如果MAMP没自带ICU,用Homebrew安装
要是上面的搜索没结果,就用Homebrew装ICU4C:# 先确保Homebrew已安装,没装的话先完成Homebrew安装 brew install icu4c安装完成后,执行
brew info icu4c查看安装路径,一般是/usr/local/opt/icu4c,然后用这个路径作为参数安装:pecl install intl --with-icu-dir=/usr/local/opt/icu4c关键:确保用MAMP的PHP环境执行命令
系统自带的PHP和MAMP的PHP是独立的,一定要先切换到MAMP的PHP命令行环境,比如你的PHP7.1版本是7.1.33(换成你实际的版本号):export PATH=/Applications/MAMP/bin/php/php7.1.33/bin:$PATH切换后再执行pecl命令,才是给MAMP的PHP安装扩展。
最后验证扩展是否启用
安装完成后,打开MAMP对应PHP版本的php.ini文件(路径比如/Applications/MAMP/bin/php/php7.1.33/conf/php.ini),检查是否有extension=intl.so这一行,没有的话手动加上,然后重启MAMP服务器。
内容的提问来源于stack exchange,提问作者SlimenTN

