你现在的位置:首页 > PHP网站建设知识库 > magento > 正文

解决无法登陆magento后台控制面板的问题

大家在登录 Magento后台 管理面板中,键入您的用户名和密码,单击登录按钮和什么都不会发生。页面刷新,即所有。没有错误或任何其他消息。

这是由 cookie 问题引起的。在某些情况下 Magento 无法存储它们。让我们看看如何可以解决这个问题。

打开 Magento 安装目录,然后转到'app\code\core\Mage\Core\Model\Session\Abstract'的文件夹。没有与您的编辑器打开'Varien.php'文件 (Adobe Dreamweaver、 记事本 + + 等)。

根据您的 Magento 版本代码可以不同,就会给你看看几个案例。
Magento 1.4.x

在 Varien.php 文件中找到的代码:

    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(); 
      } 

并对它注释。类型 / * 代码之前和 * / 后。或只是将它替换为下面的代码:

    /*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(); 
      }*/ 

Magento 1.5.x 和 Magento 1.6.x 版

在 Varien.php 文件中找到的代码:

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

和替换

    $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']); 
      } 
      } 
      } 
      
    if(isset($cookieParams['domain'])) { 
      $cookieParams['domain'] = $cookie->getDomain(); 
      }