我刚刚安装Magento(1.7.0.2)
在我的本地主机(LAMP)上。现在安装后,当我想进入管理面板时,它要求我输入用户名和密码。虽然我使用了正确的用户名和密码,但它仍然显示Invalid User Name or Password
。我明确了我的浏览器 cookie,但它再次向我显示了与登录相同的问题。我在谷歌上搜索并得到了一些我可以使用http://127.0.0.1
而不是登录的东西http://localhost
. 但它仍然不适合我。我已经在谷歌上搜索了一整天,正如 pe 一些博客所说,只需在 varien.php 文件中进行一些行注释,我也在 varien.php 文件中进行了评论,但它仍然不适合我(因为这里我使用的是 1.7. 0.2 和他们在博客中提到的 1.6.X )。我今天已经安装了 magento 4 次,但我仍然一次又一次地面临同样的问题。有人可以告诉我如何解决这个问题吗?任何帮助和建议都将是非常可观的。
11 回答
如果您无法使用正确的用户名和密码登录,这里有一些想法。如果您使用 google chrome 安装 magento,请使用 firefox 打开 magento 并编辑app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
您的 magento 目录中的文件并注释以下行
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()
// 'domain' => $cookie->getConfigDomain(),
// 'secure' => $cookie->isSecure(),
// 'httponly' => $cookie->getHttponly()
);
并使用您的凭据登录。我希望这对您有用!!!
执行以下步骤:
1:通过: xampp\htdocs\magento\app\code\core\Mage\Core\Model\Session\Abstract\
2:打开Varien.php文件
3:将注释行号从87 到 104
保存并尝试登录...
If you are suffering to get logged in with the correct username and password. replace the code with the New code
Original code:-
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath(),
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly()
);
New Code:-
$cookieParams = array(
'lifetime' => $cookie->getLifetime(),
'path' => $cookie->getPath()
/*,
'domain' => $cookie->getConfigDomain(),
'secure' => $cookie->isSecure(),
'httponly' => $cookie->getHttponly() */
);
File Path :-app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
**正如詹姆斯所说。这种方法对我有用。这是一个更好的选择,而不是更改代码。它适用于 127.0.0.1 以及 localhost 以及删除 app/etc/local.xml 之后。删除浏览器 cookie。在浏览器中运行magento的安装
本地主机/magento/index.php.install.htm
并再次设置您的用户名和密码。登录到您的管理面板。我不必删除 magento 的数据库,所以我的数据是安全的。****
1.打开Varien.php
文件位置app\code\core\Mage\Core\Model\Session\Abstract
。
2.找到并评论下面的代码
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();
}
来源 http://infynet.wordpress.com/2013/07/17/admin-login-fail-in-magento/
如果您无法登录,我会这样做:
- 设置您的主机文件以将 www.localhost.com 重定向到 127.0.0.1
- 删除 app/etc/local.xml
- 使用 www.localhost.com 作为 URL 重新安装 Magento(跳过 URL 验证)
- 保存用户名和密码
- 清除 cookie 并重试
正如你提到的修改核心代码,我推荐 3 号(从来都不是一个好主意)
评论 cookie 参数不是正确的方法,因为将来它将被推送到服务器上并产生很多问题。我从个人经验中知道这一点。
最好的解决方案是将本地 url 重命名为或多或少具有典型 url 外观的形式,至少连续一个点。例如:http://yoursitename.local
我同意-Checkpoint Charlie-评论 cookie 参数可能会导致未来的麻烦。
如果您在本地服务器上安装 magento,则必须使用 127.0.0.1/magento_install_path IP 而不是 localhost/magento_install_path 安装它。本地主机不接受用于 magento 安装(或类似的东西)的 cookie,它与安装的 magento 规则有关。
当服务器上超过磁盘配额时也会出现此问题,并且如果使用基于文件的 cookie 存储,则可能无法将会话信息写入磁盘。
实际上没有针对这个问题的编程和设置问题。
从 Varien.php 中找到此代码片段并替换如下
if ((isset($cookieParams['domain'])) && !in_array("127.0.0.1", self::getValidatorData())) { $cookieParams['domain'] = $cookie->getDomain(); }
只需打开另一个浏览器并使用 127.0.0.1 而不是 localhost 打开本地 magento 页面。
- 使用 cookie 清除浏览器历史记录以获得良好实践。