迁移后 Magento 无法登录管理员
Posted
技术标签:
【中文标题】迁移后 Magento 无法登录管理员【英文标题】:Magento can't log in in admin after migration 【发布时间】:2014-05-17 00:02:51 【问题描述】:迁移后我无法登录管理面板。输入用户名和密码后,重新加载相同的页面。 我试过了:
Can't log in to Magento Admin
Magento: Can't log into admin [duplicate]
Magento admin login not working
Magento can't login in admin with right username and password
但没有任何效果 我试图注释掉
中的代码行app/code/core/Mage/Core/Model/Session/Abstract/Varien.php.
什么都没有!
我更改了 core_config_data
web/unsecure/base_ur
l 和 web/secure/base_url
。
我的想法不多了, 感谢您的帮助!
编辑:
我检查了旧服务器上的 cookie,在登录页面上我得到一个 adminhtml
cookie,但在新服务器上我没有得到一个 hz_amChecked
cookie。
编辑 2:
新服务器在现场,也许我在那里的设置中遗漏了一些东西
我尝试在app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
中添加die()
,但没有任何反应。
【问题讨论】:
您是否检查以确保新服务器满足 magento 最低系统要求并且所有文件夹都具有正确的权限?你清除了你的 var/cache 了吗? 我清除了我的 var/cache 并安装了一个干净版本的 magento 并且它工作了,然后我用旧数据库更改了新的 magento 安装的数据库,并且弹出了同样的问题,所以问题是我想在数据库的某个地方 您是否对 /app/etc/local.xml 中的<crypt>
进行了任何更改
没有对app/etc/local.xml中的<crypt>
做任何修改
【参考方案1】:
在您的 php.ini 中启用 max_input_vars
并为您的服务器增加值
;How many GET/POST/COOKIE input variables may be accepted
;max_input_vars = 1000
max_input_vars = 35000
【讨论】:
【参考方案2】:我在这件事上所做的是我创建了一个新的管理员帐户,我以为我忘记了管理面板的密码。
要创建新的管理员用户,只需复制并粘贴包含您的值的命令即可。
php bin/magento admin:user:create --admin-user="username" --admin-password="password" --admin-email="admin@email.com" --admin-firstname="admin_first_name" --admin-lastname="Admin_last_name"
【讨论】:
【参考方案3】:问题原因
你知道为什么会出现这个问题吗?出现问题是因为磁电机 无法存储 cookie。我们将其作为 localhost 运行,而 localhost 不正确 域,但要存储 cookie,我们需要一个域。这就是登录停止的原因 一句话也不说。
解决方法:进入app/code/core/Mage/Core/Model/Session/Abstract/Varien.php 文件在你的magento目录中。
查找代码:
session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath(),
$this->getCookie()->getDomain(),
$this->getCookie()->isSecure(),
$this->getCookie()->getHttponly()
);
替换为
session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath()
//$this->getCookie()->getDomain(),
//$this->getCookie()->isSecure(),
//$this->getCookie()->getHttponly()
);
【讨论】:
【参考方案4】:我遇到了同样的问题 - 这些步骤解决了我的问题
1) 清除或删除 /var/cache/* 和 /var/session/* 文件夹中的所有文件 2) 清除浏览器缓存/cookies
如果这不起作用,请确保会话和缓存目录是可写的
如果仍然无法正常工作,请尝试此查询 在 PHPMyADMIN 中运行这个查询:
SET FOREIGN_KEY_CHECKS=0;
更新core_store
SET store_id = 0 WHERE code='admin';
更新core_store_group
SET group_id = 0 WHERE name='Default';
更新core_website
SET website_id = 0 WHERE code='admin';
更新customer_group
SET customer_group_id = 0 WHERE customer_group_code='未登录';
SET FOREIGN_KEY_CHECKS=1;
【讨论】:
【参考方案5】:我发现了问题,就在/app/etc/local.xml
中:
<install>
<date><![CDATA[Day, dd Mth yyyy HH:mm:ss +0000]]></date>
</install>
我不认为安装的时间很重要,但是我将 +0000 更改为与新安装的 magento 相同的值,并且
<session_save><![CDATA[file]]></session_save>
到
<session_save><![CDATA[db]]></session_save>
清除了var/cache
、var/session
的文件并在浏览器中从我的站点中删除了所有 cookie,它成功了!终于可以休息一下了:)
无论如何,谢谢大家的帮助!
【讨论】:
你从哪里得到的magento安装时间值? @richelliot 我在必须迁移本地安装的服务器上安装了 magento,发现时差不同【参考方案6】:您可以尝试将 path
web/secure/base_url
的 core_cofig_data
value
字段从非安全 URL 更改为安全 URL,例如请将其从 http://example.com/ 更改为 https://example.com/ 。当我迁移我的一个 magento 网站时,它解决了我的管理员登录问题。
【讨论】:
以上是关于迁移后 Magento 无法登录管理员的主要内容,如果未能解决你的问题,请参考以下文章
安装完magento后,其他电脑无法访问magento,URL自动跳转到http://localhost/magento