36

我只是magento的新手。我已经在我的本地主机上安装了 magento。完成所有设置后,当我使用管理页面登录时,即使使用正确的用户名和密码,我也无法登录 chrome 浏览器。但是当我尝试登录firefox时没有问题。那么有人真的可以在这里帮助我解决问题吗?

4

15 回答 15

86

我认为session cookiechrome浏览器有问题。因此,只需浏览此目录 /app/code/core/Mage/Core/Model/Session/Abstract/Varien.php文件并在 magento 中注释掉从 85 到 92 的行(我的情况是 1.7.2)。像这样

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

之后尝试从您的后端登录。希望您可以使用 chrome 登录。这肯定会对你有所帮助。如果您仍然面临问题,请回复我。

于 2013-03-19T05:07:49.337 回答
18

在 localhost 中设置 magento 时尝试使用 127.0.0.1。我也遇到了同样的问题,这是a已经提出的解决方案,它工作正常。

于 2013-03-19T05:16:27.573 回答
5

System -> Configuration -> General -> Web中,使用 IP 地址设置不安全和安全的基本 URL。并尝试再次登录。

于 2014-10-18T10:32:41.983 回答
4

转到此位置的文件:- app\code\core\Mage\Core\Model\Session\Abstract\Varien.php

并注释掉以下内容(第 85 到 102 行);

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

//if (!$cookieParams['httponly']) {
//    unset($cookieParams['httponly']);
//    if (!$cookieParams['secure']) {
//        unset($cookieParams['secure']);
//        if (!$cookieParams['domain']) {
//            unset($cookieParams['domain']);
//        }
//    }
//}

并使用您的凭据登录。希望这对您有用!!!

于 2014-02-26T10:58:35.750 回答
1

当您尝试登录时,Magento会cookie_domain在桌面上看到。core_config_data如果它与您的域不同,则无法进入管理面板,只需刷新页面即可,不会出现错误。

从您的数据库中打开core_config_data表并搜索或过滤pathweb/cookie/cookie_domain并将其更改为 null 或您的域。

于 2015-02-13T08:54:36.393 回答
1

当它发生在我身上时,问题是因为我移动了一个目录,但主要内容的 .HTACCESS 文件没有移动到新路径。

检查您的 .htaccess 文件是否在主要内容中。

于 2015-03-03T20:00:27.150 回答
0

只需在此处应用注释...文件位置:\app\code\core\Mage\Core\Model\Session\Abstract\Varien.php

/*
// session cookie params
    $cookieParams = array(
        'lifetime' => $cookie->getLifetime(),
        'path'     => $cookie->getPath(),
        'domain'   => $cookie->getConfigDomain(),
        'secure'   => $cookie->isSecure(),
        'httponly' => $cookie->getHttponly()
    );
  */
于 2014-02-25T11:39:02.343 回答
0

使用 Internet Explorer 或其他浏览器以管理员身份登录。刷新所有缓存..您将能够使用 chrome 登录。无需修改任何代码即可登录

于 2014-10-09T22:15:36.573 回答
0

如果您使用的是 Magento 1.9,文件必须略有不同:/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php

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

    /*if (!$cookieParams['httponly']) {
        unset($cookieParams['httponly']);
        if (!$cookieParams['secure']) {
            unset($cookieParams['secure']);
            if (!$cookieParams['domain']) {
                unset($cookieParams['domain']);
            }
        }
    }*/
于 2014-11-17T22:34:42.033 回答
0

提供表单密钥也很重要,否则您的表单将不会得到处理。

<?php echo $this->getBlockHtml('formkey'); ?>
于 2015-02-27T19:35:15.123 回答
0

这是我在相同情况下帮助我的简单解决方案。尝试60 秒

Google Chrome中,在Developer Tools中(右键单击任何页面元素并选择 Inspect Element),转到Resources -> Cookies 选项卡删除原始域的额外 cookie。或将您的基本 url 域设置为其他内容,或更改端口。

于 2015-05-12T13:26:17.277 回答
0

正如公认的答案所指出的那样,在本地主机上访问 Magento 时,问题出在 chrome 上。使用以下代码段将代码包装在 中app/code/core/Mage/Core/Model/Session/Abstract/Varien.php,只有在本地主机(IP'127.0.0.1' 或 '::1')上时才会重置会话参数数组。

// SNIPPET Part 1: add this before the original array definition
// -----------------------------------------------------------

if(in_array($_SERVER['REMOTE_ADDR'], array('127.0.0.1', '::1'))) {
    $cookieParams = array();
} else {

    // here comes the original code, thats what you should
    // look for but not touch
    // -------------------------------------------------------

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

// SNIPPET Part 2: add the closing bracket
// ------------------------------------------

}
于 2015-08-14T07:59:07.540 回答
0

我有 Magento 版本。1.14.2.1

更改 varien.php 并没有解决我的问题。

输入127.0.0.1而不是localhost在仪表板配置 Web Base URL 中解决了我的问题。

我仍然可以在 url 中输入 localhost,它会自动将其重定向到 ip 格式的 url。

于 2016-01-22T19:21:17.050 回答
0

对于 Magento 2

请使用http://127.0.0.1而不是 WAMP 上的 localhost

{文件夹路径}\magento2\vendor\magento\zendframework1\library\Zend\Session.php

如前所述,前往并发表评论

 public static function rememberUntil($seconds = 0)
    {
        if (self::$_unitTestEnabled) {
            self::regenerateId();
            return;
        }

        $cookieParams = session_get_cookie_params();

        session_set_cookie_params(
            $seconds,
            //$cookieParams['path'],
            //$cookieParams['domain'],
            //$cookieParams['secure']
            );

        // normally "rememberMe()" represents a security context change, so should use new session id
        self::regenerateId();
    }
于 2016-08-12T10:16:02.840 回答
-2
于 2015-10-08T12:54:59.940 回答