2

目前,我们在 Symfony2 中安装我们的 Web 应用程序,我们发现了一个阻塞问题。

  • linux Debian Wheezy
  • PHP 5.4.4
  • Symfony 版本 2.1.10-DEV - app/dev/debug

异常的致命错误:

vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php throw new \LogicException('Cannot change the ID of an active session');

堆栈跟踪 :

在 kernel.root_dir/cache/dev/classes.php 第 484 行 -+ public function setId($id) { if ($this->isActive()) { throw new \LogicException('Cannot change the ID of an active session '); } session_id($id); 在第 208 行的 kernel.root_dir/cache/dev/classes.php 中的 AbstractProxy ->setId ('09g5hbsvg1apk8d32k52l19rr5') -+ 在 kernel.root_dir/cache/dev/classes.php 中的 NativeSessionStorage ->setId ('09g5hbsvg1apk8d32k52l19rr5') 处第 780 行 -+ 在 Session ->setId ('09g5hbsvg1apk8d32k52l19rr5') 在 /home/wwwmain/www_v5/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/EventListener/TestSessionListener.php 在第 54 行 -+ 在 TestSessionListener ->

日志:

调试 - 向侦听器“Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest”通知事件“kernel.request”。调试 - 向侦听器“Symfony\Bundle\FrameworkBundle\EventListener\TestSessionListener::onKernelRequest”通知事件“kernel.request”。调试 - 向侦听器“Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException”通知事件“kernel.exception”。调试 - 向侦听器“Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException”通知事件“kernel.exception”。CRITICAL - LogicException:无法在 /home/wwwmain/www_v5/app/cache/dev/classes.php 第 484 行更改活动会话的 ID(未捕获的异常)调试 - 通知事件“kernel.request” 监听“Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest”。调试 - 向侦听器“Symfony\Bundle\FrameworkBundle\EventListener\TestSessionListener::onKernelRequest”通知事件“kernel.request”。调试 - 向侦听器“Symfony\Bundle\FrameworkBundle\EventListener\SessionListener::onKernelRequest”通知事件“kernel.request”。调试 - 向侦听器“Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest”通知事件“kernel.request”。调试 - 向侦听器“Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest”通知事件“kernel.request”。调试 - 通知事件“kernel.request”到监听器“Symfony\Component\Security\Http\Firewall::

有什么想法、想法吗?

4

1 回答 1

0

看起来你正在运行 phpunit 测试?如果是这样,那么如果找到具有会话名称的 Cookie,则 calss TestSessionListener 调用 Session::setId()。

我,也遇到这个问题。看起来唯一的方法是扩展这个类并覆盖“test.session.listener.class”参数。

于 2013-10-17T11:15:25.753 回答