在 MacOS 上安装 PHP intl 扩展 [关闭]

Posted

技术标签:

【中文标题】在 MacOS 上安装 PHP intl 扩展 [关闭]【英文标题】:Install PHP intl extension on MacOS [closed] 【发布时间】:2017-06-24 09:58:51 【问题描述】:

我在安装 Cakephp 时遇到了一些问题。我希望任何人都面临同样的问题。

错误

- cakephp/cakephp 3.3.9 requires ext-intl * -> the requested PHP extension intl is missing from your system.

根据错误消息,我删除了 ;从 php.ini 文件,但仍然得到同样的错误。

我有 Mac 10.12 Sierra、Xampp 5.6.28-1 版本和 PHP 5.6.24 版本。

【问题讨论】:

您可以使用 MAMP... 包含在内。也许您可以在 php.ini 中启用 intl 扩展? 感谢您的回复。我将尝试 MAMP,但是我在 Xampp 的 php ini 文件中启用了所有 intl 扩展。 这些步骤可能对之前提出的问题有所帮助:***.com/questions/27886117/… Php-intl installation on XAMPP的可能重复 【参考方案1】:

试试AMMPS。它有很多很棒的功能,您可以轻松更改 PHP 扩展:

【讨论】:

我尝试安装 ammps 但 .dmg 文件打不开。【参考方案2】:

1 确保从您的 php.ini 文件中删除 #:

$extension=ext/php_intl.dll

2 如果你已经启用了 intl,添加环境路径并重启

3 通过 brew 安装。

$brew install icu4c 
$sudo pecl install 
$intl php -m | grep intl 

【讨论】:

我确实取消了对 ext/php_intl.dll 的注释,但我仍然收到此错误 dll 文件适用于 windows。对于 Mac OS X,它是 .so 文件。默认情况下,php.ini 中会启用 php-intl.so,因此无需更改任何内容。【参考方案3】:
    安装php5-intl扩展brew install php56-intl 如果你得到No available formula for php56-intlbrew tap homebrew/homebrew-php 重启 Apache sudo apachectl restart

【讨论】:

如果我们使用的是 macOS HIgh Sierra 版本 10.13.6,上述步骤将不会运行并给出错误:homebrew/php 已弃用。此水龙头现在是空的,因为它的所有公式都已迁移。 brew tap homebrew/homebrew-core【参考方案4】:

intl 默认安装在 php7.1brew 上。

如果您已经拥有php7.1,您可能需要先将其卸载:

brew uninstall php71

然后用pear安装:

brew install php71 --with-pear

然后强制链接:

brew link php@7.1 --force

【讨论】:

这个解决方案对我很有效。我收到关于缺少 ext-intl 的错误,使用 High Sierra 附带的默认 PHP。我运行了这三个命令(我以前读过人们谈论过这些命令,替换了默认的 PHP)。我现在认为这是个好主意。这样做将我的 PHP 版本从 7.1.16 升级到 7.1.23,并将我的配置文件夹更改为 /usr/local/etc/php/7.1/php.ini。之后,php --ini 是一个有用的运行命令。 如果您从原始 Macbook 开始并执行 brew install nginx 然后设置您的 nginx.conf 文件,这似乎会在 High Sierra 中创建一个奇怪的场景。我发誓内置的 PHP 不能可靠地工作并且产生难以追踪的症状。尝试通过brew install snappy 启用extension=snappy 对我来说也有问题。在我看来,将垃圾 PHP 从您的机器上吹走,并按照 pl-94 的答案中描述的步骤进行操作。 第一个警告标志是intl 带有内置的PHP 并且不起作用。我从 brew 安装了php71,甚至不必手动启用ext-intl,它就可以工作。您可以想象一个人在使用内置功能时会如何受到攻击,从而给您一种相信它会起作用的错误感觉。

以上是关于在 MacOS 上安装 PHP intl 扩展 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 上的 XAMPP 上安装 PHP 国际化扩展 (Intl)

如何在 CentOS 上安装 PHP intl 扩展?

Mac OS:未加载国际扩展

在 Mac 上的 XAMPP 上安装 PHP 7.0 国际化扩展 (Intl)

在 XAMPP 上安装 Php-intl

国际扩展:安装 php_intl.dll