在MacOS上安装PHP的intl扩展

8

我在安装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扩展? - René Höhle
谢谢您的回复。我会尝试使用MAMP,不过在Xampp中,我已经在php ini文件中启用了所有intl扩展。 - Nishant Sethi
这些步骤可能会有所帮助,来自之前提出的问题:https://dev59.com/tl4c5IYBdhLWcg3weaP8 - PhilS
1
可能是 Php-intl 在 XAMPP 上的安装问题 的重复。 - miken32
4个回答

8
  1. 安装php5-intl扩展 brew install php56-intl
  2. 如果你收到No available formula for php56-intl错误,执行brew tap homebrew/homebrew-php
  3. 重启Apache服务器 sudo apachectl restart
说明:这段文字是关于如何在Mac上安装并使用php5-intl扩展的指南。

1
如果我们使用的是macOS High Sierra版本10.13.6,则上述步骤将无法运行并显示错误:homebrew / php已被弃用。此tap现在为空,因为其所有配方都已迁移。 - Pankaj
brew tap homebrew/homebrew-core - maudulus

6

intl 是在 php7.1 中默认安装的,使用 brew 工具。

如果您已经安装了 php7.1,您可能需要先卸载它:

brew uninstall php71

然后使用pear安装它:

brew install php71 --with-pear

然后强制链接:

brew link php@7.1 --force

这个解决方案对我非常有效。我在使用High Sierra自带的默认PHP时遇到了关于缺少ext-intl的错误。我运行了以下三个命令(我之前读过人们谈论替换默认PHP)。我现在认为这是一个好主意。这样做将我的PHP版本从7.1.16升级到7.1.23,并更改了我的配置文件夹为/usr/local/etc/php/7.1/php.ini。之后,运行php --ini命令会很有帮助。 - agm1984
如果您从一个全新的Macbook开始,执行brew install nginx,然后设置您的nginx.conf文件,似乎会在High Sierra中创建一个奇怪的场景。我发誓内置的PHP不可靠,并且会产生难以追踪的症状。对我来说,它也有问题,尝试通过brew install snappy启用extension=snappy。在我看来,将垃圾PHP从您的机器上删除,并按pl-94的答案描述的步骤进行操作。 - agm1984
2
第一个警告信号是intl与内置的PHP一起使用时无法工作。我从brew安装了php71,甚至不需要手动启用ext-intl,它就可以正常工作。你可以想象当它与内置的一起使用时,一个人可能会被愚弄,给你一种错误的信心,认为它会工作。 - agm1984

0

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

enter image description here


我尝试安装AMPPS,但是.dmg文件无法打开。 - Nishant Sethi

-8

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的注释,但是仍然遇到这个错误。 - Nishant Sethi
DLL文件是为Windows设计的。对于Mac OS X,它是.so文件。默认情况下,php-intl.so将在php.ini中启用,因此无需更改任何内容。 - keya
此解决方案仅适用于 Windows 机器。 - MIK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接