使用无效的语言环境调用Symfony2应用程序,首先导致生成MessageCatalogue,然后导致未捕获的PHP异常Twig_Error_Runtime

时间:2015-12-30 16:26:41

标签: php symfony twig translation

我有一个Symfony2(2.6)应用程序,现在我得到“严重错误”,如下所示:

Uncaught PHP Exception Twig_Error_Runtime: "An exception has been thrown
during the rendering of a template ("Circular reference detected when 
adding a fallback catalogue for locale "".") in 
"AcmeBundle:Content:home.html.twig" at line 2." at /home/acme/acme/app
/cache/prod/classes.php.cache line 5176

在做了一些研究/调试后,我发现每当有人使用无效的区域设置调用应用时(=> http://acme.com/invalidLocale/而不是http://acme.com/en/ =>只有“en”和“de”允许)Symfony在缓存目录(app / cache / prod / translations)中创建MessageCatalogue。然后,应用程序使用后备区域设置(en)正确呈现页面。

第二次使用相同的“无效/未定义”区域设置调用应用程序会导致上述错误,呈现Error500页面并向我发送上述电子邮件。

有谁知道什么是错的?

我要么在第一次调用时已经出现404错误,要么在向后回复语言环境“en”中重定向301,而不是500错误。

Thanx为你提供帮助!

干杯, d。

0 个答案:

没有答案