当前位置: 首页 > 知识库问答 >
问题:

Symfony2 PHP 5.4.4无法更改活动会话的ID

林雅畅
2023-03-14

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

  • linux Debian喘息症

异常的致命错误:

vendor/symfony/symfony/src/symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php抛出new\LogicException('无法更改活动会话的ID');

堆栈跟踪:

在kernel.root_dir/cache/dev/classes.php的第484行-公共函数setId($id){if($this)中-

日志:

调试-向侦听器“Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelRequest”通知事件“kernel.request”。调试-向侦听器“Symfony\Bundle\FrameworkBundle\EventListener\TestSessionListener::onKernelRequest”通知事件“kernel.request”。调试-将事件“kernel.exception”通知给侦听器“Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelException”。调试-将事件“kernel.exception”通知给侦听器“Symfony\Component\HttpKernel\EventListener\ExceptionListener::onKernelException”。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”。调试-向侦听器“Symfony\Component\Security\Http\Firewall::onKernelRequest”通知事件“kernel.request”。调试-向侦听器“Eyrolles\CompteBundle\Service\RequestListener::onKernelRequest”通知事件“kernel.request”。调试-向侦听器“Eyrolles\EcommerceBundle\Twig\Extension\TwigExtension2::onKernelRequest”通知事件“kernel.request”。调试-向侦听器“Symfony\Bundle\AsseticBundle\EventListener\RequestListener::onKernelRequest”通知事件“kernel.request”。调试-将事件“kernel.controller”通知给侦听器“Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController”。调试-向侦听器“Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener::onKernelController”通知事件“kernel.controller”。调试-向侦听器“Sensio\Bundle\FrameworkExtraBundle\EventListener\ParamConverterListener::onKernelController”通知事件“kernel.controller”。调试-向侦听器“Sensio\Bundle\FrameworkExtraBundle\EventListener\TemplateListener::onKernelController”通知事件“kernel.controller”。调试-向侦听器“Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController”通知事件“kernel.controller”。

有什么想法吗?

共有1个答案

燕航
2023-03-14

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

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

 类似资料:
  • 我需要创建一个多租户应用程序,能够在我的java代码中切换模式(不是基于用户请求)。 我读过文章:当架构在 Rest-request 中传递时,https://fizzylogic.nl/2016/01/24/make-your-spring-boot-application-multi-tenant-aware-in-2-steps/ http://www.greggbolinger.com/t

  • 问题内容: 我正在维护Java Web应用程序。 通过登录代码,它可以通过HttpServletRequest的getSession()方法从HttpServletRequest中获取一个HttpSession。(它在会话中使用一些值进行认证) 但是,我担心会话固定攻击,因此在使用初始会话后,我想开始一个新会话或更改会话ID。这可能吗? 问题答案: Servlet 3.0 API不允许您更改现有会

  • 是否可以限制siteminder SP上受保护资源上的活动用户数?我想确保受保护的资源被有限数量的活动用户使用,比如说n。 谢谢Andrea

  • 我正试图通过这样的意图将活动更改为打开嵌入式谷歌地图的零碎活动: 但是应用程序崩溃了,我最近从Windows上的Eclipse转移到了Ubuntu上的Eclipse。我不明白为什么应用程序不会更改活动。调试器打开layoutInflater.class窗口中的消息是:找不到源 出了什么问题,我该如何解决?

  • 我正试图使用Appium从mac上的Android应用程序启动我的应用程序。应用程序 或使用我的代码,但我得到一个错误 无法启动新会话。 确保Appium服务器运行的应用程序是通过使用Appium中的“App Path”参数打开的。应用程序(以及适用于Android的软件包和 活动)或通过连接selenium客户端,并 在所需的功能对象中提供此功能。" 下面是我的Appium日志,我在这里做错了什

  • 我们正在使用PingFederate实现一个web SSO解决方案,第三方产品包括SAML2开箱即用。 但是,如果用户仍在积极使用SP,我们正在尝试解决如何停止IDP会话超时的问题。 第三方产品支持请求IDP端的空资源,目的是该URL将导致IDP会话被延长。 我在PingFederate中看不到任何支持这种东西的东西。有人知道这通常是如何解决的吗?有没有一种方法可以扩展PingFederate会话