Php Symfony2 URL匹配器在转换函数期间匹配控制器时抛出ResourceNotFound错误

Php Symfony2 URL匹配器在转换函数期间匹配控制器时抛出ResourceNotFound错误,php,symfony,locale,translate,Php,Symfony,Locale,Translate,我有一个错误,只发生在生产上。我有一个表单,它使用单选按钮更改应用程序的语言翻译。当用户选择en时,应用程序将更改为英语等 在生产中,切换单选按钮会引发错误: Uncaught PHP Exception (ResourceNotFoundException) ... at ... app/cache/prod/appProdUrlMatcher.php:129 这一行只是抛出ResourceNotFoundException,但我看到的这一行: if (preg_match('#^/(?P&

我有一个错误,只发生在生产上。我有一个表单,它使用单选按钮更改应用程序的语言翻译。当用户选择en时,应用程序将更改为英语等

在生产中,切换单选按钮会引发错误:

Uncaught PHP Exception (ResourceNotFoundException) ... at ... app/cache/prod/appProdUrlMatcher.php:129
这一行只是抛出ResourceNotFoundException,但我看到的这一行:

if (preg_match('#^/(?P<_locale>[^/]++)/translate$#s', $pathinfo, $matches)) {
    return $this->mergeDefaults(array_replace($matches, array('_route' => 'translate_language')), array ( '_controller' => 'Path\\ToMy\\Controller\\TranslateController::translateAction',));
}

有人能告诉我这里发生了什么吗?

例外情况是,symfony找不到路线,这意味着在行动的路径上有一些输入错误。prod区分大小写。我不知道如何/在何处可以做到这一点。预匹配工作,模具在预匹配内工作。这将表明问题围绕着合并默认值?!它说symfony找不到此操作“Path\\ToMy\\Controller\\TranslateController::translateAction”
public function translateAction(Request $request)
{
 $form = $this->createTranslateForm();
 $form->handleRequest($request);

 if ($request->getMethod() == 'POST') {
    $data = $request->request->get('translate-form');
    $language = $data['language'];

    $this->get('session')->set('_locale', $language);

    $referRoute = $this->getRefererRoute();

    $url = $this->get('router')->generate($referRoute, array('_locale' => $language));

    return $this->redirect($url);
 }
}