Can';t登录到Magento管理员
我在一个子目录中安装了magento。www.domain.com/subdir/magento 这个网站曾一度运作良好。我什么也没改,直到我的客户说他不能登录到magento管理员 我从我的计算机上很好地登录,但在他的计算机上,它只是重定向回magento管理员登录,没有错误消息和看起来像这样愚蠢的url:Can';t登录到Magento管理员,magento,admin,Magento,Admin,我在一个子目录中安装了magento。www.domain.com/subdir/magento 这个网站曾一度运作良好。我什么也没改,直到我的客户说他不能登录到magento管理员 我从我的计算机上很好地登录,但在他的计算机上,它只是重定向回magento管理员登录,没有错误消息和看起来像这样愚蠢的url: http://domain.com/subdir/magento/index.php/admin/index/index/key/3097210b826ac4a86d7531cb4089c
http://domain.com/subdir/magento/index.php/admin/index/index/key/3097210b826ac4a86d7531cb4089c9d0/
我以为他的饼干被封锁了,但事实并非如此
我的magento设置是安全的/不安全的baseurl:http://domain.com/subdir/magento/
web cookie path: (blank)
web cookie domain: (blank)
在清除var/cache之后,我发现我自己也无法登录到管理员,同样的问题
我不走运地尝试了以下设置:
path: /
domain: domain.com
path: /subdir/magento
domain: vigrond.com
我还尝试在Varien.php
中注释这些行,但也没有效果
我的服务器帐户是一个VPS,它有大量的可用空间
所以我几乎迷路了,想知道为什么在它以前工作的时候会发生这种情况(没有改变任何事情),为什么它如此复杂
如果没有显示登录错误消息(“无效密码”等),则几乎总是会话cookie问题。为了完全控制它,请使用浏览器的cookie查看器和/或您最喜欢的HTTP流量嗅探器并进行检查
您是否删除了var目录中的会话存储 在我的例子中,当我在子域上玩multistore的自动化时(像您一样更改了cookie的路径和域),此方法帮助我删除“坏”cookie并成功登录到admin: 在apppath/var/session目录中,我在shell中发出了命令(注意path,这可能会删除目录中的所有文件)
然后在浏览器中清除域的cookie。我从未解决过这个问题。但我擦去了客户端的电脑,重新安装了Windows7,一切正常。非常奇怪的是,它以前不起作用,因为他没有代理,没有广告或病毒。这个问题在他的每一款浏览器(chrome firefox和IE)中都有再现。这不是路由器的问题。这是一个windows问题,但我不能告诉你到底是什么原因造成的。正如我检查的那样,这也不是互联网安全设置。还检查了主机文件。正如我之前所说,非常令人困惑的是,我也遇到了同样的问题,但我正在windows 7 x64上开发XAMPP 在Magento system-configuration-web-session cookie management中,将仅使用HTTP更改为
no
,并将cookie生存期更改为86400
我只是改变了Cookie的生存期,以防夏令时不必改变
在更改之前,我只能使用Firefox登录,更改之后,所有浏览器都可以工作
将Cookie路径和Cookie域保留为空。查找app/code/core/Mage/core/Model/Session/Abstract/Varien.php。在您的Magento安装文件夹中。注释掉第80至83行(见下文)。行号可能会有所不同
// set session cookie params
session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath()//,
//dependes which versin of mage you are using, you may comment these as well
//$this->getCookie()->getDomain(),
//$this->getCookie()->isSecure(),
//$this->getCookie()->getHttponly()
);
这就是缓存问题。最近Magento社区确认已排序,但未排序。:)
只需清除缓存并执行以下步骤,它就可以正常工作
也请对这行进行注释
// if (!$cookieParams['httponly']) {
// unset($cookieParams['httponly']);
// if (!$cookieParams['secure']) {
// unset($cookieParams['secure']);
// if (!$cookieParams['domain']) {
// unset($cookieParams['domain']);
// }
// }
// }
//
// if (isset($cookieParams['domain'])) {
// $cookieParams['domain'] = $cookie->getDomain();
// }
- 确保浏览器中已启用Cookie,请尝试以下操作: 不同的浏览器,包括Safari或Opera。铬会给你一些帮助 问题,您需要记住在之后清除Chrome中的缓存 做出改变
- 确保您的文件权限设置为EVERYONE-Windows的完全控制和Mac/Linux环境的777如果所有这些仍然不起作用,您可以尝试以下方法:(我不建议将此解决方案用于Magento的生产版本,但对于您的本地测试环境,这将起作用。)
- 检查您正在使用的php版本。如果您使用的是最新的Magento,请尝试查找PHP和扩展需要的版本
检查核心配置数据表中的cookie配置,并检查会话是否保存在数据库中。在我的例子中,有人刚刚用错误的值更改了cookie域和cookie路径 您还可以在app/etc/local.xml中的节点上检查这一点。
如果它在db上,也许您应该更改do文件,以便能够直接在var/session dir上清理会话数据。我今天在本地服务器上解决了这个问题。我无法使用任何浏览器登录。我真的不想注释掉核心文件中的任何行,也不想做任何其他“肮脏”的解决方案 首先,我检查了浏览器设置的cookie。它的过期时间设置为1970年,所以很明显这是一个cookie问题 我检查了magento数据库中的Cookie值。在phpmyadmin中,我找到了表核心配置数据,然后是值为web/cookie/cookie\u域和web/cookie/cookie\u路径的字段。他们都是空白的 我的解决方案是: web/cookie/cookie\u域到我的域名 及 web/cookie/cookie\u指向/的路径 示例: 运行magento的域是magento.local 设置: web/cookie/cookie\u domain=magento.local 及
web/cookie/cookie\u path=/从浏览器设置中删除cookie(与您的域相关)。我也面临同样的问题,最后我发现这是由于磁盘空间和
// if (!$cookieParams['httponly']) {
// unset($cookieParams['httponly']);
// if (!$cookieParams['secure']) {
// unset($cookieParams['secure']);
// if (!$cookieParams['domain']) {
// unset($cookieParams['domain']);
// }
// }
// }
//
// if (isset($cookieParams['domain'])) {
// $cookieParams['domain'] = $cookie->getDomain();
// }
UPDATE admin_user SET password=CONCAT(MD5('qXpassword'), ':qX') WHERE username=‘user’;