Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/sbboke.com/wp-content/plugins/wordpress-seo/src/integrations/front-end-integration.php:409) in /www/wwwroot/sbboke.com/wp-content/themes/pacify/content-single.php on line 5

magento 如何修复Cookie和session问题

在本文中,我们将了解Magento cookie如何通过面向客户的前端和管理后端的登录功能,其发生的原因以及如何解决这些问题来创建问题。

这也称为循环问题,因为即使用户名和密码正确,屏幕也会将自身重定向到同一屏幕。

本文末尾提供了一个脚本,可以帮助检测一些问题。您可以根据自己的需要随意使用和修改。

什么是Cookie?

Cookie是Web服务器可以存储在用户硬盘上的一段文本,也可以在以后检索它。Magento在Cart&Backend Admin功能中使用cookie,当无法登录Magento时,它们可能是一些问题的根源。

什么是session?也叫会话

session是服务器端的数组变量,它存储要在多个页面中使用的信息。例如,添加到购物车的商品通常会保存在session中,当用户浏览结帐页面时,会从session中读取这些商品。

会话由唯一ID标识。它的名称改变取决于编程语言 - 在PHP中它被称为'PHP sessionID'。您可能已经猜到,需要将相同的PHP会话ID存储为客户端浏览器中的cookie以进行关联。

Magento存储Sessions

Magento可以通过多个会话提供程序存储会话,这可以在Magento配置文件中配置app/etc/local.xml。可以在此处选择这些会话提供程序。

文件

<session_save><![CDATA[files]]></session_save>
<session_save_path>
    <![CDATA[/tmp/session]]>
</session_save_path>

数据库

允许会话将自己存储在数据库中是/app/etc/local.xml通过添加来完成的<session_save><![CDATA[db]]></session_save>

Magento应用程序在Core\_session表中存储会话。

Redis的

<session_save>db</session_save>
    <redis_session>                           
             <host>127.0.0.1</host>    
        <port>6379</port>
    </redis_session>

MEMCACHE

session_save><![CDATA[memcache]]></session_save>
<session_save_path>
<![CDATA[tcp://localhost:11211?persistent=1&weight=2&timeout=10&retry_interval=10]]>
</session_save_path>

Magento用法

Magento使用两个名为'frontend'和'adminhtml'的不同cookie。在浏览任何页面时创建第一个。客户登录时也会更新相同的cookie,并在后端用户登录时创建下一个cookie。您可以通过单击Inspect Element> Application检查是否已创建cookie ,如下图所示(来自Chrome) ):

通过配置管理菜单 System > Configuration > General > Web 在Magento中配置Cookie 。

下一篇文章将介绍由cookie和session导致的客户登录失败问题的原因和解决办法

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
内联反馈
查看所有评论