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

Posted

技术标签:

【中文标题】在 Mac 上的 XAMPP 上安装 PHP 国际化扩展 (Intl)【英文标题】:Install PHP Internationalization extension (Intl) on XAMPP on Mac 【发布时间】:2016-04-08 10:00:18 【问题描述】:

如何在 OS X 上的 XAMPP 服务器上安装 Intl?

我尝试修改我的 XAMPP>etc>php.ini 并取消注释该行:

;extension=php_intl.dll

并重新启动 Apache,但没有成功。

【问题讨论】:

Windows 使用 .dll。 *Nix 和 Mac 使用 .so codingexplained.com/operating-systems/mac/… 可以帮到你。 【参考方案1】:

在 OSX 上安装“intl”扩展。

    通常,PHP 会自动安装在 OSX 上。 因此,如果您想使用 XAMPP 或任何 apache 服务器,您必须将路径点更改为 XAMPP。您可以使用以下命令检查路径:

$哪个php

你应该得到

/Applications/XAMPP/xamppfiles/bin/php 

如果没有,你会得到

/usr/bin/php. 

这是 OSX 的 php.ini 文件。因此,您必须使用以下方法更改它:

$PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"

    现在是安装 intl 的时候了。首先,你需要安装icu4c

$ brew install icu4c

它需要几次并返回它的路径给你,应该是这样的:

/usr/local/Cellar/icu4c/x.x.x 
    接下来,让我们使用 pecl 安装 intl

$ sudo pecl 更新频道

$ sudo pecl install intl

它会提示你输入 icu4c 路径。 完成安装icu4c后,将以下语句放入php.ini

extension=intl.so
    重新启动 Apache。并检查是否安装整齐。

$ php -m | grep intl

应该返回'intl'

就是这样!

【讨论】:

当我运行这个命令 sudo pecl install intl 它返回这个 msg 没有可用于包“pecl.php.net/intl”的版本安装失败 我必须先卸载(sudo pecl uninstall intl),因为我用错误的路径安装了它。如果我按照说明操作,效果会很好! 请帮忙。它显示:通道“pear.phpunit.de”没有通过 http:// 响应,失败并显示消息:文件 pear.phpunit.de:80/channel.xml 无效(收到:HTTP/1.1 410 Gone)尝试通过 https 的通道“pear.phpunit.de” :// 而不是无法检索通道“pear.phpunit.de”的通道.xml(连接到 `pear.phpunit.de:443' 失败:)..... @amit gupta:试试 cweiske 在***.com/questions/35953764/… 的回答。为我工作。 很好的解决方案和描述。谢谢【参考方案2】:

在 OSX 上,如果你有可用的自制软件并且有 PHP7:

$ brew install php70-intl // For PHP7.0
$ brew install php71-intl // For PHP7.1

对于 PHP5.5:

$ brew install php55-intl

重新打开您的终端窗口以确保它在您的会话中正常工作。查看它是否通过您的 CLI 解释器加载:

$ php -m | grep intl

或者:

$ php -i "(command-line 'phpinfo()')" | grep intl

来源:https://daveismyname.blog/blog/install-php-intl-on-mac-using-homebrew

【讨论】:

【参考方案3】:

我在 Mac 上的 XAMPP 上失败了:

$ brew install icu4c

,之后我收到消息:

您系统上安装的 intl ICU 版本已过时 (4.8.1.1),并且与 Symfony (57.1) 捆绑的 ICU 数据不匹配

我通过运行命令下载、解包、编译和安装所需版本的ICU解决了我的问题(如果需要,您可以在此处选择另一个版本http://site.icu-project.org/download,文件应以...src.tgz结尾):

$ curl -sS -o /tmp/icu.tar.gz -L http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz && tar -zxf /tmp/icu.tar.gz -C /tmp && cd /tmp/icu/source && ./configure --prefix=/usr/local && make && sudo make install

比运行:

$ sudo pecl install intl

并指定 ICU 库和头文件的位置 [DEFAULT]:

/usr/local

然后使用extension=intl.so 编辑“php.ini”并重新启动 apache。

检查结果:

<?php
if (extension_loaded('intl')) 
    echo "PHP: " . PHP_VERSION . "<br>\n";
    echo "ICU: " . INTL_ICU_VERSION . "<br>\n";
 else 
    die('OOPS! The intl extension is not enabled!');

【讨论】:

以上是关于在 Mac 上的 XAMPP 上安装 PHP 国际化扩展 (Intl)的主要内容,如果未能解决你的问题,请参考以下文章

/Applications/XAMPP/xamppfiles/bin/php - Xampp Mac 上的 Laravel

Mac XAMPP开发服务器上的PHP APC问题

如何在 Mac 上的 XAMPP 上运行 PHP 文件

在 mac el capitan 上的 xampp 上的 xdebug

为 PHP 安装 SSH2 以在 OSX 10.9.1 上的 Xampp Apache 服务器上运行

如何在Mac上的PHP中从Xampp本地主机发送邮件?