14

我正在使用 magento 社区版 1.7.0.2。我无法登录到 magento 的后端。我知道这个问题可能是因为 chrome 不接受 cookie。但是如何解决这个问题请帮忙。谢谢

4

9 回答 9

37

如果您为 Magento 管理面板启用了 https,请确保将System->configuration->web->Session and Cookie Management 下的“Use HTTP Only”选项设置为“ NO ” 。”

如果您有权访问数据库,则打开表“ core_config_data ”并搜索路径“ web/cookie/cookie_httponly ”并将值设置为“0”。

确保删除 var/cache 文件夹。现在尝试登录 Magento 管理面板。大多数情况下你现在可以。如果不在此线程中发布您的问题。

所以这个“无法登录 Magento 管理面板”问题主要与 Magento cookie 设置有关。因此,如果您遇到这个小问题,请不要担心。使用此线程中的答案列表,您可以在几分钟内轻松解决此问题。

于 2013-01-28T09:50:19.477 回答
31

有两种解决方案,任何一种都可以:

  • 更改 cookie 生命周期配置。转到后端 -> 系统 -> 配置 -> Web -> 会话和 Cookie 管理 将 cookie 生命周期设置为 86400 并保存。

看这里

  • 转到您的 magento 目录中的 app/code/core/Mage/Core/Model/Session/Abstract/Varien.php 文件。

找到代码:

session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath(),
$this->getCookie()->getDomain(),
$this->getCookie()->isSecure(),
$this->getCookie()->getHttponly()
);

或者

// session cookie params
$cookieParams = array(
    'lifetime' => $cookie->getLifetime(),
    'path'     => $cookie->getPath(),
    'domain'   => $cookie->getConfigDomain(),
    'secure'   => $cookie->isSecure(),
    'httponly' => $cookie->getHttponly()
);

并替换为

session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath()
//$this->getCookie()->getDomain(),
//$this->getCookie()->isSecure(),
//$this->getCookie()->getHttponly()
);

或者

// session cookie params
$cookieParams = array(
    'lifetime' => $cookie->getLifetime(),
    'path'     => $cookie->getPath()
//  'domain'   => $cookie->getConfigDomain(),
//  'secure'   => $cookie->isSecure(),
//  'httponly' => $cookie->getHttponly()
);

在此之后保存文件。

于 2012-09-08T06:15:04.953 回答
4

到目前为止,这是最好的解决方案,而不是在其他地方更改代码http://iamtheshadowonthesun.blogspot.com/2012/10/magento-cannot-login-to-admin-panel.html

使用 phpMyAdmin,在您的 magento 数据库中,查找 core_config_data 表并单击它。单击“搜索”选项卡。然后在“路径”列上将运算符设置为 LIKE %...% 并将值设置为 cookie,然后单击“开始”按钮进行搜索。

搜索后,将web/cookie/cookie_path、web/cookie/cookie_domain、web/cookie/cookie_httponly、web/browser_capabilities/cookies的值设置为NULL

于 2013-07-03T03:04:07.387 回答
3

对我有用的是 Haijerome,不幸的是我无法登录后端来更改配置。这是我在安装新的新 magento 时执行的操作:

insert into core_config_data(scope, scope_id, path, value) values("default", "0", "web/cookie/cookie_httponly", "0");

然后:

rm -Rf var/cache/mage--*
于 2013-11-01T03:31:22.297 回答
2

一种简单的解决方案是使用 Opera 浏览器进行安装并使用它来登录,因为它会保存 cookie 本身。有用!

于 2013-01-09T08:24:08.903 回答
2

我们的 Chrome 用户无法将商品添加到他们的购物车......将 Cookie Lifetime 更改为推荐的 86400 修复了它。

Magento 社区 1.7

谢谢!

杰夫

于 2012-11-27T00:14:48.627 回答
2

问题是 chrome 没有存储登录 cookie,这可以通过查看 chrome | 中的 cookie 看出 设置 | 内容 | 高级 | 所有 cookie 和网站数据

发生这种情况的原因可能有很多,cookie 的生命周期肯定是其中之一。

我个人在 localhost / 在虚拟机上运行 magento 并从同一台机器上的浏览器连接时遇到了这个问题。具体问题似乎是,如果域名不合格,chrome 将不会存储 cookie。因此,如果您的域名是“http://localhost/magento”或“http://somename/magento”,chrome 将不会存储 cookie,因此您将无法登录

这是修复:

为了简单起见,我坚持使用 magento 在 localhost 上运行的示例。如果 magento 在 vm 上运行并且您正在从 localhost 访问,则相同的技巧将起作用,但在这种情况下,您需要修改来宾操作系统和客户端上的主机文件。(请记住,访客 ip 可能会不时更改,因此您需要不时更新主机上的 hosts 文件)

首先选择您的域名。它只是在本地,所以你不需要注册。我正在选择“dansmagentodev.com”。然后在magento | 系统 | web 将安全和不安全的 baseurl 修改为 http://dansmagentodev.com/magento/

接下来,在同一个地方,修改会话cookie管理“cookie域”为“dansmagentodev.com”

接下来我们需要配置您的系统以知道 dansmagentodev.com 确实是 localhost。我们通过主机文件来做到这一点。在 Windows 上,此文件位于 C:\Windows\System32\drivers\etc\hosts 中。您的病毒检查器可能会尝试阻止您对其进行修改(有充分的理由,在您进行修改时禁用病毒检查器)。然后添加行 127.0.0.1 dansmagentodev.com

现在从 chrome 登录。

于 2012-12-19T22:37:12.703 回答
2

我的问题是,我运行的服务器是全新安装的 Ubuntu,几乎没有服务器维护配置。

它没有更新它的日期和时间,它落后了 3 小时。

这使得 Chrome 接收到的 cookie 看起来好像已经过期,因此 Chrome 将其丢弃。

于 2013-03-03T01:28:18.137 回答
0

如果在 Firefox 上有效。那么问题是 chrome 上的 cookie,尝试清除 chrome 的 cookie。

于 2012-09-08T07:15:55.017 回答