First thing you got to do is look for a file named Varien.php which is located same way as the following.
[magento_url]\app\code\core\Mage\Core\Model\Session\Abstract\Varien.php
In my case, magento_url represents 'c:\wamp\www\magento'.
Using your text-editor, open the said file. Look for the code around line 78 that reads 'session_set_cookie_params(...);'. Then enclose the entire code block inside a multi-line Comment (/* ... */).
It should look something like the following.
// set session cookie params
/*
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()
);
*/
Well there you have it. This is the shortest workaround I've found in Magento Forums. Once you get this working, you'll never have to replace http://localhost/ into http://127.0.0.1/ ever again. If you're not convinced, try running another fresh installation of Magento. Fix Varien.php, then access the backend or admin section. You'll be surprised the problem's gone!
This piece of solution is offered for development purposes only. This might not be a good idea for a production environment. Please bear that in mind.
Here's my Platform specs to give you some hint:
- OS: Vista
- Server: WAMPServer
- Browser: Firefox 3+, IE7, Safari 3+
Related Posts:
29 comments :
Thanks for the tip!
I have been struggling with this for a couple of hours, before findind your tip.
you're a genius.. why do such simple problems even exist... it must be very common
Thanks for tips.Its working
cool, thanks for the fix.
I have tried the same thing, I am using Vista, Winamp and have successfully installed a wordpress site for production testing. The front end is working perfectly, but I cannot access the admin. It keeps saying password / username incorrect. I have gone into php MyAdmin to make sure the password is the same under the admin table & it is... help! Have changed the localhost to 127.0.0.1 & still no luck, have commented out above... What am I doing wrong??
Try installing another copy of Magento with the above changes and see if the result's still the same. If so, then we need to check for some other factors which might have caused this. You can mail me if you want. Here's my address: bassgrinder at g mail.
you are really genioussssssssss
Thanks a lottttt.....your post helped me to solve a huge problem....
hi. I tried this but when I try to login I get the error Invalid Username or password. The login details I am using are correct. Do u knw any work around for this?
apache server,ssh:
hey i got mysqp5.0 n php5.2...all d other reqd are fulfiled..still itz showing an error of:you need MySQL 4.1.20 (or greater)..plz help me...
your answer is really good thanks
this solution is not any where
I have just installed Magento v 1.4.0.1 on WAMP and need to be able to log in. The file Varian.php seems to have changed from lines 77 on. I managed to get it to work by commenting the whole block lines 77-104:
/* $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']);
}
}
}
if (isset($cookieParams['domain'])) {
$cookieParams['domain'] = $cookie->getDomain();
}
call_user_func_array('session_set_cookie_params', $cookieParams);
if (!empty($sessionName)) {
$this->setSessionName($sessionName);
} */
Hope you will update this advice.
Hi,
I'm having similar problem due to increase of disk space on my server. It was gone above 100%. By reducing disk space to under 100%, solved my problem.
In fact, in version 1.4.0.1 you can comment only the line #100 ( call_user_func_array('session_set_cookie_params', $cookieParams); ) and it will work
Wow!!
This made it work:
/* $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']);
}
}
}
if (isset($cookieParams['domain'])) {
$cookieParams['domain'] = $cookie->getDomain();
}
call_user_func_array('session_set_cookie_params', $cookieParams);
if (!empty($sessionName)) {
$this->setSessionName($sessionName);
} */
Instead commenting all those line of codes which make it pretty unsecured when used in a production environment, why not detect the domain if its localhost and disable it and restore usual function when it's not.
This is how I did it:
http://mysillypointofview.wordpress.com/2010/03/24/how-to-fix-magentos-admin-login-failing-no-error-message-on-localhost/
I have tried all of those, none worked... :S
Thanks for this, I was scratching my head for a little while :)
Nothing of that works on the mac with MAMP using Firefox. No problem using Opera or Safari. I would like a solution because Firefox has a tool called firebug that I like to use.
@Gravata: Thanks!
Hi there,
I am using this simple procedure under Windows7:
1. install XAMPP and enable "iconv"
2. edit the file "hosts" to this: 127.0.0.1 localhost.com
3. copy the magento files to the directory: C:\xampp\htdcs\magento\
4. start the Apache and MySQL
5. Go to the address: http://localhost.com/magento
6. Follow the installation wizard.
7. Now You will be able login to the administration.
ENJOY!
=D
thnx dude!
good post keep up dear same help
I have just installed Magento v 1.5.1.1 on XAMP and need to be able to log in. The file Varian.php seems to have changed from lines 77 on. I managed to get it to work by commenting the whole block lines 77-104:
/* $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']);
}
}
}
if (isset($cookieParams['domain'])) {
$cookieParams['domain'] = $cookie->getDomain();
}
call_user_func_array('session_set_cookie_params', $cookieParams);
if (!empty($sessionName)) {
$this->setSessionName($sessionName);
} */
This is working perfectly.
Thanks,...
None of the above works in 1.5 version even after emptying the cache. Any Help?
What if your on a shared host?
I am trying it on 1.6, but not working.
Hey thanks for sharing this. I have been struggled with the issue for a long time and nobody turned out with a result. Thanks once again.
thanks , its working fine on magento 1.8 edition
Post a Comment
Hi there! Please leave your message here. Also, I may not be able to respond to your query right away. So please bear with me. Thanks. :)