无法登录Magento admin

Vig*_*ond 11 admin magento

我在一个子目录中安装了magento.www.domain.com/subdir/magento

这个网站在某一点上完美运作.我一无所知,直到我的客户说他无法登录magento admin.

我从我的计算机上登录得很好,但是在他的计算机上它只是重定向回magento管理员登录而没有错误消息和一个看起来像这样的傻瓜的网址:

http://domain.com/subdir/magento/index.php/admin/index/index/key/3097210b826ac4a86d7531cb4089c9d0/
Run Code Online (Sandbox Code Playgroud)

我以为他的饼干被封锁了,但事实并非如此.

我的magento设置是安全/不安全的baseurl: http://domain.com/subdir/magento/

web cookie path: (blank)
web cookie domain: (blank)
Run Code Online (Sandbox Code Playgroud)

清除var/cache之后,我发现我自己无法登录管理员,但问题完全相同.

我没有运气就尝试了以下设置:

path: /
domain: domain.com

path: /subdir/magento
domain: vigrond.com
Run Code Online (Sandbox Code Playgroud)

我也尝试过评论这些行Varien.php,但这也没有效果.

我的服务器帐户是VPS,它有足够的可用空间.

所以我几乎迷失了,想知道为什么这首先发生在它之前的工作(没有改变任何东西),为什么它如此复杂?

任何帮助赞赏

Ala*_*orm 15

如果没有显示登录错误消息("无效密码"等),则几乎总是会话cookie问题.为了完全统治它,请使用浏览器的cookie查看器和/或您喜欢的HTTP流量嗅探器并检查

  1. 所有cookie在设置后都有适当的到期日期

  2. 会话cookie具有每个请求的一致的令牌名称/值

  3. 当PHP通过Magento运行时,它具有合理值的各种会话生命周期ini设置

  4. PHP可以写入任何用作cookie存储介质的内容

  5. 服务器的时间与实时相匹配,并且PHP本身设置了时区


Fur*_*ury 11

查找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()
    );
Run Code Online (Sandbox Code Playgroud)

这是缓存问题.最近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();
//        }
Run Code Online (Sandbox Code Playgroud)
  • 确保您在浏览器中启用了Cookie,尝试使用多种不同的浏览器,包括Safari或Opera.Chrome会出现一些问题,您需要记住在更改后清除Chrome中的缓存!

  • 确保您的文件权限设置为EVERYONE - 适用于Windows的全部控制和适用于Mac/Linux环境的777如果仍然无效,您可以尝试:(我不建议将此解决方案用于Magento的生产版本,但是为你本地测试环境这将工作.)

  • 检查您正在使用的php版本.如果您使用最近的Magento尝试查找哪个版本的PHP和扩展需要.

更多细节


Vas*_*rov 5

您是否删除了 var 目录中的会话存储?

就我而言,当我在子域上对 multistore 进行自动化时(像您一样更改了 cookie 的路径和域),此方法帮助我删除了“坏”cookie 并成功登录到管理员:

在 apppath/var/session 目录中,我在 shell 中创建了命令(注意路径,这可能会删除目录中的所有文件)

rm -rf /path/to/magento/var/session/*
Run Code Online (Sandbox Code Playgroud)

然后只需在浏览器中清除域的 cookie。

  • 对所有人的注意:请注意,如果直接以错误的方式运行此命令,则使用 rm -rf * 可能会清除整个 magento 安装或服务器。 (3认同)

Vig*_*ond 1

我从未解决过这个问题。但我擦除了客户端计算机并重新安装了 Windows 7,结果成功了。很奇怪的是,它以前不起作用,因为他没有代理,没有广告或病毒。并且该问题在他的每个浏览器(chrome firefox 和 IE)中重现。这不是路由器问题。这是一个 Windows 问题,但我无法告诉你到底是什么原因造成的。正如我检查的那样,这也不是互联网安全设置。还检查了主机文件。正如我之前所说,非常令人困惑