每次请求时都会重置Magento会话

每次请求时都会重置Magento会话,magento,session,Magento,Session,我的Magento商店有一个非常关键的问题。会话在每次HTTP请求时都会被重置,例如,如果我刷新主页,它将创建一个新会话 最初我认为它来自php.ini设置,但我将session.cookie_life=86400设置为我的php.ini文件,并将magento后端设置为ewll。然后,我还将会话从文件移动到db,以尝试解决问题,但每次请求时它都会不断创建新会话。因此,我无法向购物车添加任何项目或执行任何其他操作,因为我的会话每次都会被破坏。我通过在“系统->网络->会话验证设置”中启用前端使用

我的Magento商店有一个非常关键的问题。会话在每次HTTP请求时都会被重置,例如,如果我刷新主页,它将创建一个新会话


最初我认为它来自php.ini设置,但我将session.cookie_life=86400设置为我的php.ini文件,并将magento后端设置为ewll。然后,我还将会话从文件移动到db,以尝试解决问题,但每次请求时它都会不断创建新会话。因此,我无法向购物车添加任何项目或执行任何其他操作,因为我的会话每次都会被破坏。

我通过在“系统->网络->会话验证设置”中启用前端使用SID解决了此问题

希望以下内容对您有所帮助


我找到了问题并将其定位在此文件中:

app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
为了更优雅地修复它,应该重写本地代码池中的指定文件,而不是直接修改核心。如下图所示:

app/code/local/Mage/Core/Model/Session/Abstract/Varien.php

此外,要使上述内容正常工作,php.ini设置session.cookie\u secure必须被注释或设置为0。

确保检查php.ini

我遇到了类似的问题,并注意到.ini试图为会话设置不同的保存路径,然后是Magento

简而言之,编辑php.ini并注释掉save_path和cookie_secure:

;session.save_path =
;session.cookie_secure = 
我确信在Magento中有一种方法可以设置安全cookie参数,因为我不想建议任何可能存在安全风险的内容


然后重新启动php或apache

本地或live server中的问题出在哪里?在live server上,运行CentOS和Nginx。尝试设置默认主题并禁用所有自定义模块。可能是某个模块实例化了新会话。或者您也可以尝试在系统/配置中清空cookie\u域值,或者如果您无法访问该值,请在core\u config\u数据中修复它。如果属于该类,您为解决该问题而更改的代码是什么