Symfony 2:安装并启用intl扩展

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

一旦我到达Symfony Configuration页面,它build议我安装并启用intl

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

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

不幸的是,它不起作用, Symfony一直问我intl

Solutions Collecting From Web of "Symfony 2:安装并启用intl扩展"

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

从PHP版本5.3.0开始,该扩展与PHP捆绑在一起。 另外,这个扩展的PECL版本可以用于大于5.2.0(5.2.4+推荐)的所有PHP版本。

也阅读我的评论上面的帖子

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

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

 sudo apt-get install php5-intl 

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

按着这些次序:

  1. C:\ wamp \ bin \ php \ php5.5.12复制所有以“ icu ”开头的文件名并粘贴到C:\ wamp \ bin \ apache \ apache2.4.9 \ bin (我正在使用WAMP。对于XAMP。)

你可以试试。 没有什么会伤害。 如果您觉得这些东西不能正常工作,您可以删除它们。 我相信它会为你工作100%。

  1. 取消对C:\ wamp \ bin \ apache \ apache2.4.9 \ bin \ php.ini中的以下行的注释

     extension=php_intl.dll 

它会工作。

对于OS X用户:

正常情况下,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库和标题[DEFAULT]:

 /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 Internationalization扩展(Intl)

要在Xampp中激活这个扩展,只需编辑你的php.ini(即在C:\ xampp \ php目录下),并删除分号来取消注释:

 ;extension=php_intl.dll 

最终不要忘记重启Apache!

为了解决这个问题,请到“c:\ xampp \ php \ php.ini”在你的编辑器中打开它并搜索Dynamic Extensions,然后向下搜索; extension = php_intl.dll并启用它(remove; to like like)extension = php_intl.dll之后保存你的文件php.ini并重新启动你的本地主机