2013-03-14 2 views
1

У меня возникла проблема после обновления моего Symfony с 2.1 до 2.2. Когда подножка всех функциональных тестов сразу (обратите внимание, что это не происходит, когда единичные тесты не выполняются в настоящее время, независимо от того, какого) я получаю сообщение об ошибке с петлей бесконечности stucked наФункциональные тесты Symfony дают бесконечные петли после обновления до 2.2

PHP Fatal error: Maximum function nesting level of '150' reached, aborting! in project_path\vendor\symfony\symfony\src\Symfony\Component\ClassLoader\DebugClassLoader.php on line 81 

части следа:

... 
14. Symfony\Component\BrowserKit\Client->submit() project_path\other_path\Tests\Controller\LoginControllerTest.php:53 
15. Symfony\Component\BrowserKit\Client->request() project_path\vendor\symfony\symfony\src\Symfony\Component\BrowserKit\Client.php:224 
16. Symfony\Bundle\FrameworkBundle\Client->doRequest() project_path\vendor\symfony\symfony\src\Symfony\Component\BrowserKit\Client.php:264 
17. Symfony\Component\HttpKernel\Client->doRequest() project_path\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Client.php:111 
18. Symfony\Component\HttpKernel\Kernel->handle() project_path\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Client.php:61 
19. Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle() project_path\app\bootstrap.php.cache:411 
20. Symfony\Component\HttpKernel\HttpKernel->handle() project_path\app\bootstrap.php.cache:1101 
21. Symfony\Component\HttpKernel\HttpKernel->handleRaw() project_path\app\bootstrap.php.cache:975 
22. Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher->dispatch() project_path\app\bootstrap.php.cache:990 
23. Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() project_path\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher.php:135 
24. Symfony\Component\EventDispatcher\EventDispatcher->dispatch() project_path\vendor\symfony\symfony\src\Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher.php:167 
25. Symfony\Component\EventDispatcher\EventDispatcher->doDispatch() project_path\vendor\symfony\symfony\src\Symfony\Component\EventDispatcher\EventDispatcher.php:53 
26. call_user_func() project_path\vendor\symfony\symfony\src\Symfony\Component\EventDispatcher\EventDispatcher.php:164 
27. Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher->Symfony\Component\HttpKernel\Debug\{closure}() project_path\vendor\symfony\symfony\src\Symfony\Component\EventDispatcher\EventDispatcher.php:164 
28. call_user_func() project_path\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher.php:447 
29. Symfony\Component\Security\Http\Firewall->onKernelRequest() project_path\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher.php:447 
30. Symfony\Component\Security\Http\Firewall\AbstractAuthenticationListener->handle() project_path\vendor\symfony\symfony\src\Symfony\Component\Security\Http\Firewall.php:66 
31. Symfony\Component\Security\Http\Firewall\AbstractAuthenticationListener->onSuccess() project_path\vendor\symfony\symfony\src\Symfony\Component\Security\Http\Firewall\AbstractAuthenticationListener.php:143 
32. Symfony\Component\ClassLoader\DebugClassLoader->loadClass() project_path\vendor\symfony\symfony\src\Symfony\Component\Security\Http\Firewall\AbstractAuthenticationListener.php:0 
33. Symfony\Component\ClassLoader\DebugClassLoader->findFile() project_path\vendor\symfony\symfony\src\Symfony\Component\ClassLoader\DebugClassLoader.php:95 
... 

Перед тем, как я модернизировал все тесты работали отлично, теперь они бросают эту ошибку при использовании:

$form = $crawler->selectButton('Login')->form(); 
$form['_password'] = '123ASDasd'; 
$form['_username'] = 'MattKing'; 
$crawler = $client->submit($form); //this is LoginControllerTest.php:53 from error above 

или

$link = $crawler->selectLink('Matt King')->link(); 
$client->click($link); // --> error 

или

$client = static::createClient(); 
$client->followRedirects(true); 
$crawler = $client->request('GET', '/login'); // --> error 

Другая проблема была при использовании Symfony по умолчанию переводы функций. После переключения пользовательской локали - тест бросил ту же ошибку, что и выше. Когда я прокомментировал переключение локали, произошла другая ошибка (например, выше). Обратите внимание, что это могло быть вызвано теми же проблемами, что и выше.

Я искал причину в течение нескольких дней и сдался. Любая идея, как это исправить?

+0

вы с помощью FOSUserBundle или это ваше собственное выполнение входа? –

ответ

2

У меня была та же проблема. Я решить, добавив это мой php.ini:

xdebug.max_nesting_level = 200 

XDebug не должен работать на производственном сервере, таким образом, он не должен выдавать ошибку.

(см this issue)

+0

Я исправил эту проблему с использованием того же выше :-) – Matt

 Смежные вопросы

  • Нет связанных вопросов^_^