Magentopipe理员login不工作在铬,但工作正常的Firefox

我只是magento的新手。 我已经在我的本地主机上安装了magento。 完成所有设置后,当我使用pipe理页面login时,即使使用正确的用户名和密码,也无法在Chrome浏览器中login。 但是,当我试图login在Firefox中没有问题。 那么有人能帮我解决这个问题吗?

我认为与Chrome浏览器的session cookie有问题。 所以,只需要浏览这个目录/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() ); */ 

之后尝试从后端进行login。 希望你可以使用chrome进行login。 这一定会帮助你。 如果你仍然面临这个问题,那就回复我。

在localhost中设置magento时,请尝试使用127.0.0.1。 我也遇到同样的问题,这是一个解决scheme,它工作正常。

System -> Configuration -> General -> Web ,设置不安全并使用IP地址保护基本URL。 并尝试再次login。

转到这个位置的文件: – 应用程序\代码\核心\法师\核心\模型\会议\摘要\ 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']); // } // } //} 

并使用您的凭据login。希望这应该适合你!

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

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

只是在这里应用注释…文件位置:\应用程序\代码\核心\法师\核心\模型\会议\摘要\ Varien.php

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

用Internet Explorer或其他浏览器作为pipe理员login。 刷新所有的caching。你将能够使用chromelogin。 您可以login,而无需修改任何代码

如果您使用的是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']); } } }*/ 

当您尝试login时,Magento会在core_config_data表上看到cookie_domain 。 如果您的域名不同,则无法进入pipe理面板,只刷新页面,不会出现错误。

从数据库打开core_config_data表,search或过滤web/cookie/cookie_domainpath列,并将其更改为null或您的域。

你有一个表单键也是很重要的,否则你的表单将不会被处理。

 <?php echo $this->getBlockHtml('formkey'); ?> 

这是我的简单解决scheme ,帮助我在相同的情况。 尝试60秒的时间。

谷歌浏览器中 ,在开发人员工具 (右键单击任何页面元素并select检查元素),转到资源 – > Cookie选项卡删除原始网域的额外Cookie。 或者设置你的基本url域名,或者更改端口。

正如接受的答案指出,问题在于在本地主机上访问Magento时出现的问题。 使用下面的代码将代码app/code/core/Mage/Core/Model/Session/Abstract/Varien.phpapp/code/core/Mage/Core/Model/Session/Abstract/Varien.php ,只有在localhost(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 // ------------------------------------------ } 

我有Magento版本。 1.14.2.1

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

在仪表板configurationWeb Base URL中input127.0.0.1而不是localhost解决了我的问题。

我仍然可以在url中inputlocalhost,并自动将其redirect到ip格式的url。

对于Magento 2

请使用http://127.0.0.1,而不是WAMP上的本地主机;

{文件夹path} \ 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(); } 

在Magento中使用webkit浏览器(例如Chrome)会话/ cookie问题? 进入系统 – >configuration – > Web – >会话Cookiepipe理,并设置“Use HTTP Only”为no。 玩的开心。