Symfony 2:安装并启用 intl 扩展


Symfony 2: Install and enable the intl extension

我正在使用XAMPP for Windows,并决定尝试Symfony 2

一旦我进入Symfony Configuration页面,它建议我安装并启用 intl

我尝试阅读PEAR'sPECL's指南,因为我在这个主题上总共为 0(最近开始学习PHP),但没有任何效果。

我在C:'xamp'php'ext里发现了php_intl.dll.php.iniextension_dir=设置为"C:'xampp'php'ext"。我只是缺少php.ini里面的extension=php_intl.dll,所以我添加了它。

不幸的是它没有用,Symfony一直向我要国际。

每当您对php.ini进行更改时,请记住重新启动Apache。否则,更改不会生效。您可以通过单击Apache模块行中的stop/start按钮在XAMPP Control Panel中执行此操作。

http://php.net/manual/en/intl.requirements.php

此扩展与 PHP 版本 5.3.0 捆绑在一起。 或者,此扩展的 PECL 版本可以与所有 高于 5.2.0 的 PHP 版本(推荐 5.2.4+)。

另请阅读我对你上面的帖子的评论

按照以下步骤操作:

  1. C:''wamp''bin''php''php5.5.12 复制所有以"icu"开头的文件名,并粘贴到 C:''wamp''bin''apache''apache''apache2.4.9''bin(我正在使用 WAMP。自己为XAMP弄清楚。

你可以试试。没有什么会伤害。如果您觉得这些东西不起作用,可以删除它们。我相信它会 100% 适合您。

  1. 取消注释 C:''wamp''bin''apache''apache''apache2.4.9''bin''php.ini

    extension=php_intl.dll
    

它会起作用。

对于 Linux 用户:安装 php5-intl 使它对我有用

sudo apt-get install php5-intl

在这里找到:http://www.php.net/manual/en/intl.setup.php

对于 OS X 用户:

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

$ which php

(不要复制$符号,这意味着你应该在终端中输入这个,而不是php)

你应该得到: /Applications/XAMPP/xamppfiles/bin/php

如果没有,你会得到/usr/bin/php.

这是OSX的php。因此,您必须使用以下方法将其更改为XAMPP' php:

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

2.运行以下命令下载、解压、编译和安装ICU(您可以选择不同的版本,这是您的Symfony需要的):

$ 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 库和标头的位置 [默认] :

/usr/local

请注意安装报告中的信息:

You should add "extension=intl.so" to 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)

要在 Xampp 中激活此扩展,只需编辑您的 php.ini(即在 C:''xampp''php 目录中)并删除分号以取消注释此行:

;extension=php_intl.dll

最终不要忘记重新启动 Apache !

要解决此问题,请转到"c:''xampp''php''php.ini"在编辑器中打开它并搜索动态扩展,然后向下搜索;extension=php_intl.dll并启用它(删除;变得像)扩展名=php_intl.dll之后保存文件php.ini并重新启动本地主机