在安装orocrm(使用symfony 2开发的平台)期间,我收到此错误
Fatal error: Uncaught exception 'Symfony'Component'Intl'Exception'MethodArgumentValueNotImplementedException' with message 'The Symfony'Component'Intl'Collator'Collator::__construct() method's argument $locale value 'fr_FR' behavior is not implemented. Only the locale "en" is supported. Please install the "intl" extension for full localization capabilities.' in /Users/ale/Sites/educacloud- bo/vendor/symfony/symfony/src/Symfony/Component/Intl/Collator/Collator.php:80
Stack trace:
#0 /Users/ale/Sites/educacloud-bo/app/SymfonyRequirements.php(619): Symfony'Component'Intl'Collator'Collator->__construct('fr_FR')
#1 /Users/ale/Sites/educacloud-bo/app/OroRequirements.php(24): SymfonyRequirements->__construct()
#2 /Users/ale/Sites/educacloud-bo/app/oro-check.php(6): OroRequirements->__construct()
#3 {main}
thrown in /Users/ale/Sites/educacloud-bo/vendor/symfony/symfony/src/Symfony/Component/Intl/Collator/Collator.php on line 80
但是我已经安装了intl扩展:
# php -i | grep intl
/usr/local/php5/php.d/50-extension-intl.ini,
intl
intl.default_locale => it_IT => it_IT
intl.error_level => 0 => 0
和php_info()在我的浏览器上给了我以下结果:
version 1.1.0
ICU version 4.6
ICU Data version 4.6
问题出在哪里?谢谢Alessandra
默认情况下,symfony2能够管理"en"扩展,但要获得其他语言,必须安装php-intl
扩展。
最简单的选择是使用composer安装它,因为它为您公开全局变量。。。etc
所有这些都在这里解释symfony/components/intl。
对于composer扩展安装,它是symfony/components/using_components。
因此,在阅读完这篇文章后,您需要执行:
composer require symfony/intl
--编辑
好的,对不起,我刚刚测试了解决方案,事实是:如果你使用symfony组件,你只能访问"en"。我和你有同样的问题,我的php5-intl扩展已经安装并激活,但错误仍然存在。对我来说,我继续在文件的顶部编写use Symfony'Component'Intl'DateFormatter'IntlDateFormatter;
,而不是使用基本的php5扩展名。
做一件可能有助于解决此错误的事情打开php.ini文件从;extension=php_intl.dll
中删除注释
extension=php_intl.dll
并重新启动Apache服务器
您需要重新安装包int1
apt-get install php-intl
service apache2 restart
检查解决方案:
在Symfony 2.0中:
app/config/config.yml
框架:会话:{default_locale:it_it}
在Symfony 2.1+中:
app/config/config.yml
框架:default_local:it_it