安装 intl PHP 扩展 OSX High Sierra

2022-08-30 13:46:33

如何在 PHP 7.1.7 中安装 intl PHP 扩展,该扩展随 osx high sierra 一起提供?


答案 1

所以我遇到了完全相同的问题。正如其他人在这里评论所指出的那样,High Sierra附带了PHP 7.1,并且此PHP版本已与它一起编译。

就我而言,我在以下 Valet+ 问题中遵循了 Neodork 评论的一部分:

“安装”PHP 7.1(所以它来自brew本身,而不是High Sierra安装的那个)

brew install php@7.1

将其升级到最新版本

brew upgrade php@7.1

酒窖中引用的符号链接:

brew link --overwrite --force php@7.1

在我的 bash 配置文件中更改 PHP 路径

echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile

重新加载您的 bash 配置文件(您可以关闭终端并再次打开它)

. ~/.bash_profile

检查国际

php -m | grep intl

注意:如果您遇到以下警告:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-intl/intl.so'

然后,您必须禁用以前的 intl:

mv /usr/local/etc/php/7.1/conf.d/ext-intl.ini /usr/local/etc/php/7.1/conf.d/ext-intl.ini.disabled

希望它有帮助!


答案 2

在集成从 到 之后,默认安装将包含该扩展。我也有同样的问题,扩展不起作用。我遇到的问题是命令行环境没有使用已安装的PHP版本,而是使用macOS系统的默认版本。brew/phpbrew/coreintlintl

要启用已安装的版本,您需要执行以下操作:

brew install php@7.1

您需要通过以下方式链接已安装的 PHP 版本 brew link php@7.1

然后,您需要打开一个新的终端以使其有效。
然后仔细检查PHP二进制路径, which php

确保它不是 /usr/local/bin/php /usr/bin/php

然后检查是否启用了 intl 扩展, php -m | grep intl

它对我有用。


推荐