我正在使用XAMPP for Windows并决定尝试Symfony 2 。
一旦我到达Symfony Configuration页面,它build议我安装并启用intl 。
我尝试阅读PEAR's和PECL's指南,因为我对这个主题总共是0 (最近开始学习PHP ),但是没有任何工作。
我发现php_intl.dll在我的C:\xamp\php\ext 。 php.ini的extension_dir=设置为"C:\xampp\php\ext" 。 我只是在php.ini缺lessextension=php_intl.dll ,所以我添加了它。
不幸的是,它不起作用, Symfony一直问我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
按着这些次序:
你可以试试。 没有什么会伤害。 如果您觉得这些东西不能正常工作,您可以删除它们。 我相信它会为你工作100%。
取消对C:\ wamp \ bin \ apache \ apache2.4.9 \ bin \ php.ini中的以下行的注释
extension=php_intl.dll
它会工作。
正常情况下,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并重新启动你的本地主机