Magento用户会议混乱

时间:2012-01-27 16:28:42

标签: session caching magento login

我想知道是否有人可以帮我解决以下问题。在我们的Magento网站上,企业版本1.10.1.1,用户可以登录,它会说出另一个人的姓名。然后,如果您单击另一个链接,它可能会返回到您的名字。用户会话显然很混乱。显然,这是一个整页缓存问题,因为我们的整页缓存通常会失效,如果我们关闭它,用户会话就不会混淆了。然而,关闭它会大大减慢网站的速度。将会话从数据库存储切换到文件存储(反之亦然)并没有解决问题。有谁知道问题是什么或如何解决?

非常感谢,

布伦达

5 个答案:

答案 0 :(得分:1)

您应该向Magento查询补丁。礼品证书字段信息在会话之间混淆了我遇到了类似的问题。他们提供了一个解决问题的补丁。

答案 1 :(得分:1)

在header.phtml文件中,您应该使用它来打印用户名

<?php echo $this->getChildHtml('welcome') ?>

然后,您可以覆盖该块&#39; Mage_Page_Block_Html_Welcome&#39;如果你想自定义你的信息。

当您使用&#34;全页缓存&#34;因为默认情况下,magento会排除整页缓存中的某些块,并且阻止&#39; welcome&#39;是其中之一。如果您使用的是自定义代码和消息,则用户名也将被缓存,其他用户将在此部分中看到不同的用户名。

答案 2 :(得分:0)

它可以依赖于缓存问题。尝试关闭缓存(转到管理员,系统,缓存管理并禁用所有缓存)。

如果问题消失了 - 您需要检查缓存配置。如果没有 - 你真的有会话问题。 BTW,你存储会话(文件或DB或memcached?)

答案 3 :(得分:0)

我发现原因与Enterprise_PageCache_Model_Processor_Default类相关,我的方法是在config.xml中禁用它,编辑src\app\code\core\Enterprise\PageCache\etc\config.xml

<requests>
<!--  <cms>enterprise_pagecache/processor_default</cms>-->
</requests>

答案 4 :(得分:0)

这个问题可能是因为Magento无法设置正确的会话参数,如果它是在像Varnish这样的反向代理缓存之后(我打赌就是这种情况)。每当使用中间caché系统时,你必须确保使用Apache中的apropiate模块将X_FORWARDED_FOR http标头转发到Magento,如mod_rpaf,否则Magento将看到来自同一IP的al请求,它将无法确定是否正确会话隔离,因为它会认为所有请求都来自同一个客户端。