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_domain
的path
列,并将其更改为null或您的域。
你有一个表单键也是很重要的,否则你的表单将不会被处理。
<?php echo $this->getBlockHtml('formkey'); ?>
这是我的简单解决scheme ,帮助我在相同的情况。 尝试60秒的时间。
在谷歌浏览器中 ,在开发人员工具 (右键单击任何页面元素并select检查元素),转到资源 – > Cookie选项卡 。 删除原始网域的额外Cookie。 或者设置你的基本url域名,或者更改端口。
正如接受的答案指出,问题在于在本地主机上访问Magento时出现的问题。 使用下面的代码将代码app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
在app/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。 玩的开心。