我在magento www.example.com上运行1.9.2.2,当使用Internet Explorer和Edge浏览器时,我无法向购物车添加任何内容。我单击添加到购物车按钮,被重定向到购物车页面,但随后显示 “您的购物车为空..." 消息。Safari、Chrome、Firefox都运行正常。只是在使用IE或Edge时,我遇到了此问题。
在发现这个问题后,我做了一些研究,发现只有在有问题的浏览器上Magento才没有设置前端cookie(据我所知,它处理用户/前端会话)。
我已经在后端更改了我的cookie设置,更改了cookie的生存期,添加了一个路径,将我的域更改为有和没有前导点,但到目前为止没有任何工作。
有没有人知道一个解决方案,或者可以告诉我为什么这个cookie没有在那些特定的浏览器中设置?
提前感谢!
2条答案
按热度按时间xyhw6mcr1#
将“Use HTTP Only”设置为“yes”,否则将保持设置不变,希望这对您有所帮助
cclgggtu2#
所以这有几个原因;我知道是因为我现在正在处理类似的事情。你不能添加商品到购物车的原因是因为缺少前端cookie。cookie不能存储在你提到的浏览器上,很可能很快就会出现所有浏览器,因为需要为具有安全属性的cookie设置相同的属性。
对于我的问题,我发现我们使用的是比PHP 7.3更老的版本。因此,包含cookie的方法不支持使用samesite。我不得不写一段JavaScript来插入我缺少的cookie。类似于以下内容:
但是请记住,这并不能真正解决问题。magento 1.9框架也使用PHP中的一个模型来设置cookie。所以你要么升级到php 7.3或更高版本,要么使用数据库连接在相应的表中创建一个会话,这样网站的其余部分才能正常工作。