Symfony ICU问题,使用不同于EN的区域设置的路由将失败



安装Yosemite和新版本的MAMP后当我试图执行时

domain/app_dev.php/es/venues/3/show

这条路线是呈现一个包含语言类型字段的表单,因此需要ICU。由于是区域设置,我会出错。如果我把它改成"en",就没有问题。

错误为:

[1/2]ResourceBundleNotFoundException:资源捆绑包"/Users/a77/Documents/DEV/UOxCom/vender/symfony/icu/symfony/Component/icu/Resources/data/lang/root.php"不存在。

[2/2]无法从中读取索引[Languages]"/Users/a77/Documents/DEV/UOxCom/vender/symfony/icu/symfony/Component/icu/Resources/data/lang/es.res"。在回退区域设置中也找不到索引"root.res".

我的symfony版本是2.5,我正在运行MAMP PHP 5.5.10。我通过composer更新了依赖项,包括"symfony/intl":"*",

我已经关注了几个网站,以便通过pecl安装icu和intl。但仍然会出错。我不知道如何检查安装或配置是否正常。也许你可以让我知道如何通过终端进行测试,并让你知道结果是什么。。。

这是因为您试图只获取语言es的资源。但现在(从导入Symfony icu数据的那一刻起),您需要通过语言和国家代码es_ES获得语言资源。

在Yosemite更新后,您可能无法简单地激活intl.so。在Danilo Braband的一篇优秀文章之后,我解决了安装intl.so的问题http://dab.io/posts/getting-started-with-symfony-on-yosemite.html

已解决Symfony 2.5.6 的升级问题

最新更新