当前位置: 首页>>网站问题>>正文


购物车放弃所有物品/购物车会话清除

webfans 网站问题 , , , 去评论

问题描述

我突然管理的一个网站(可能在2周前 – 来自GA统计数据,现在只有报道)在您查看购物车时开始放下购物车物品,或者去结帐。

顶部’mini-cart’显示下拉菜单中的项目,直到您浏览到购物车/结帐,然后最终放到购物车上,并显示“购物车中没有物品”消息。

看起来像会议问题。登录时不会发生这种情况。

删除了’系统 – >网络 – >会话验证设置’中的所有会话验证选项,并启用了一个说’在前端使用SID’的验证选项。这确实解决了这个问题,但由于这些设置在过去3个月没有变化,所以我知道存在一些潜在的问题。

这然后指出问题与sore-id问题?不知怎的,该网站正在丢失它所在的store-id,并删除会话/购物车数据?也许一些观察者/事件/由某个模块重写。

我无法在本地开发或UAT服务器上复制该问题。 UAT上的数据库是从现场开始的2周,所以这可能指向数据库问题/设置?

我正在尝试的事情:我忙于将当前的数据库转移到UAT以获取up-to-date,以查看是否可以在那里复制该问题。将在更新完成后更新。

一旦我可以将问题复制到non-live区域,我将系统地禁用模块,查看是否有商店编号出现混乱(从MageMonkey和sweettooth开始,因为它们在2周前得到更新)

问题是 – 我还能尝试什么?任何指向我可以击中某些断点并指出代码以查看是否可以跟踪此问题的指针?

没有额外的缓存系统,如清漆或memcache安装。服务器是标准的cpanel安装。在uat上测试我禁用了所有缓存。

进一步更新:看起来,当我下降到默认的主题,我不能再现。我正在系统地移动主题重写文件夹。

我也用git来回溯代码,问题仍然存在于每一个散列中。

更新:有一段时间,因为我有时间花在这上面。高工作量。

我将这些会话移到了基于文件的位置,问题已消失。由于客户不打算在不久的将来使用多台服务器,并且由于我的工作负载,这是留在那。稍后很可能会回来咬我。

magento支持建议这个问题与延长会话类的甜牙模块有关,但我禁用了该模块,问题仍然存在。

将获得更多结果时更新。

最佳解决思路

在我们的cPanel盒子上,丢失的资产正在服务整个Magento页面。

cPanel默认为ErrorDocument 404 /404.shtml,但/404.shtml在Magento的文档根目录中不存在,因此.htaccess会再次执行并将/404.shtml重定向到index.php(使用mod_rewrite)。

Magento的默认.htaccess应明确指定404,500和其他错误处理程序。

为了解决这个问题,我们在.htaccess中添加了以下内容:

ErrorDocument 404 /errors/404.php

我们可能还应该增加500个:

ErrorDocument 500 /errors/500.php

次佳解决思路

你在服务器上使用Varnish吗?

我们已经看到许多实现人们在获取静态内容(images /css /js)之前剥离cookie – 因此如果image /js /css不存在;它加载Magento引导程序和404的 – 这完全剥离了cookie和网站会话。

第三种解决思路

一个问题可能是Magento在从HTTP切换到HTTPS时没有保存会话数据。确保正确设置了SSL等必要的设置。

另一个问题可能是客户的ISP正在更改他们的IP地址,如记录here

要解决这个问题:

更改Magento Admin中的会话验证设置,在System>下找到。配置> Web,除了“Validate HTTP_USER_AGENT。”之外的所有内容都为“否”。执行此操作后,转至System>缓存管理并刷新配置缓存以应用更改。

第四种思路

当页面上有图像丢失时,我们发现了这个问题,特别是当所有页面都没有图像时。在页眉或页脚中。似乎Magento或Web服务器返回的404页面会破坏前端会话cookie,从而导致会话丢失。这是我们的清单上的事情要解决,但解决方法是确保没有丢失的图像…

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/1642.html,转载请务必附带本地址声明。