我在我们的一个临时站点上登录Magento的管理面板时遇到了麻烦(它在我们的webdev服务器上100%运行,并且不久前在登台服务器上工作得很好)。
我做了一些研究,大多数人都认为这与在本地主机上运行Magento和浏览器没有为域名中没有点的域保存cookie有关。然而,问题在于我们是从http://staging.sitename ......等运行它。
建议的另外一些事情是有人在配置中更改了访问管理员的默认名称,但我们没有更改它。
有没有人有任何可能有帮助的想法?
感谢您抽出宝贵时间帮助我!
亲切的问候,
雷米
答案 0 :(得分:39)
我设法解决了!我在这里找到了这个解决方案:http://blog.chapagain.com.np/magento-admin-login-problem/。
我想知道为什么要修复它并且var_dumped我注释掉的项目并且意识到cookie域被设置为'/'并且我们在'/ shop /'下设置了magento。所以我去了配置部分(在评论出文章中提到的3行后设法登录),将Cookie域和Cookie路径更改为空白并保存。然后,我取消注释这些线条并再次尝试,并且一切正常!
答案 1 :(得分:18)
在新的Magento安装中,执行以下操作 - >
打开文件
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.
并将第87行的代码更改为 - > $cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
// 'domain' => $cookie->getConfigDomain(),
// 'secure' => $cookie->isSecure(),
// 'httponly' => $cookie->getHttponly()
);
答案 2 :(得分:15)
我也遇到过这个问题。这就是我所做的:在core_config_data中,删除path = web / cookie / cookie_domain
的所有行答案 3 :(得分:6)
只需在网络浏览器中清除Cookie和缓存即可。它非常适合我。
答案 4 :(得分:2)
我也遇到过这个问题。这就是我做的:
在core_config_data
中,删除path = web/cookie/cookie_domain
答案 5 :(得分:2)
您好我遇到了同样的问题,我通过删除/ var / session中的所有文件解决了这个问题。 我认为这是因为Magento会议太多了!
为了安全起见,我更改了“仅使用HTTP”#39;到'否'在会话Cookie管理'的网络'我可以再次登录后的设置..
我在互联网上找到了这个解决方案:https://magento.stackexchange.com/questions/26071/magento-1-9-can-t-login-to-admin-panel
答案 6 :(得分:2)
具有特定错误会有所帮助。在黑暗中拍摄几张照片 -
值得检查一下你的重写。我有问题从服务器移动到服务器,其中一个没有正确的重写设置。如果servername.com/index.php/admin有效,但servername.com/admin没有,那么你有重写问题。
可以想象,也没有为正确的服务器配置base_url。移动数据库时是否更改了它?有关详细信息,请参阅this post的答案。
答案 7 :(得分:1)
如果您使用样本数据:
更改:强> app / etc / local.xml第55行
<session_save><![CDATA[files]]></session_save>
替换
<session_save><![CDATA[db]]></session_save>
,然后:强> 清除浏览器缓存
答案 8 :(得分:1)
需要在core_config_data
表中更新以下路径中的3件事:
web/secure/base_url
web/unsecure/base_url
web/cookie/cookie_domain
使用
之类的命令UPDATE 'core_config_data' SET 'value'="localhost.com" WHERE path="web/cookie/cookie_domain"
并且不忘记清除缓存和浏览器Cookie。
答案 9 :(得分:1)
我找到了解决此问题的新方法。我已经花了几个小时,最后我有可能是绝望,这一步:请求管理密码。
因此,请转到管理员登录页面,然后单击忘记密码链接。
更改密码,现在您可以再次登录!
此致
答案 10 :(得分:1)
我们遇到了同样的问题,原因是服务器硬盘空间不足。 Magento无法创建新会话,因此不会登录我们。释放空间并解决问题。
答案 11 :(得分:1)
我无法访问后端!
(我的解决方案):
应用程序的/ etc /那个local.xml 第55行
<session_save><![CDATA[files]]></session_save>
替换
<session_save><![CDATA[db]]></session_save>
答案 12 :(得分:1)
我们的网站运行良好数月,然后今天没有人可以登录管理员,我们的用户也无法登录他们的前端帐户。我们在linux服务器上运行。
解决方案:/magento/var/session
目录中充满了sess_*
个会话文件,实际上许多尝试执行rm *
失败了。在对会话文件进行繁琐的重击之后(rm sess_1*
,rm sess_2*
,... rm sess_a*
,rm sess_b*
,... rm sess_v*
)我突然间可以再次登录Magento。实际上,我只需几批就能登录。
理论:当会话目录包含太多文件时,Magento可能无法及时创建新的会话文件,或者可能根本不创建。
答案 13 :(得分:1)
我只是通过缓存清除解决了(从Magento基本目录执行php mage clear-cache
答案 14 :(得分:0)
我有同样的问题,而且全部都是使用localhost。
首先我更改了web/unsecure/base_url
和web/secure/base_url
。这两个配置值都有localhost,我用127.0.0.1
替换它。直到我删除了两个文件夹var/session/
和var/cache/
的所有内容后,它才能正常工作。
现在工作正常。
答案 15 :(得分:0)
我已经到了gogole搜索结果第2页的底部,试图解决这个问题。我做了我能找到的所有建议。然后我的朋友建议使用此命令行工具n98-magerun。正在运行php n98-magerun.phar cache:flush
解决了它。然后我可以登录。虽然有大量的命令,所以如果这不起作用,也许会有另外一个。
答案 16 :(得分:0)
在应用了这么多解决方案和答案之后,这个解决方案和答案终于有效了。
评论第108行
call_user_func_array(’session_set_cookie_params’, $cookieParams);
在文件app / code / core / Mage / Core / Model / Session / Abstract / Varien.php
答案 17 :(得分:0)
如果值得,请检查admin_user
中的密码字段是否至少为100
个字符。
如果是40
,则更改密码将无效。
答案 18 :(得分:0)
我做了一个简单的方法。我去phpMyAdmin,然后使用MD5哈希的新密码。然后使用该密码成功登录
答案 19 :(得分:0)
在我的情况下,session
文件夹下缺少var
文件夹。我刚刚创建了var/session
文件夹,并将权限设置为777
,清除了cache
并完成了。
您应该为此检查sysytem.log
。
答案 20 :(得分:0)
转到Varien.php app \ code \ core \ Mage \ Core \ Model \ Session \ Abstract \ Varien.php 清理var文件夹中的文件 并进行上述更改:
//session cookie params
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()
// 'domain' => $cookie->getConfigDomain(),
// 'secure' => $cookie->isSecure(),
// 'httponly' => $cookie->getHttponly()
);
答案 21 :(得分:-1)
从Chrome的DevTools中清除应用程序存储后,为我解决了此问题。
答案 22 :(得分:-2)
完成所有这些之后,并将所有上述解决方案留在原地,仍然没有一个对我有用。我运行Win 7 + XAMPP和Magento社区magento-1.7.0.2
我可以看到前端,但根本没有登录管理面板。所有的尝试都遇到了无效的用户名或密码,所以我开始搞乱模型文件进行调试,最后改变了
\ app \ code \ core \ Mage \ Admin \ Model \ User.php第340行
由此:
if ($sensitive && $this->getId() && Mage::helper('core')->validateHash($password, $this->getPassword())) {
对此:
if ($sensitive && $this->getId() || Mage::helper('core')->validateHash($password, $this->getPassword())) {
由于它是一个开发框,因此我认为它可以选择验证密码哈希值
注意:请勿在实际环境中执行此操作,只要您的用户名正确,密码就会每次都通过,无论它们是否正确。
本质上这个代码执行以下if(username = correct或password = correct){LOG IN} - 这意味着如果它传递用户名,它将登录。