在 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 el capitan 上的 xampp 上的 xdebug