Olá galera,
Hoje venho falar de uma questão que já aconteceu várias vezes comigo e gostaria de compartilhar a solução com vocês.
Quem é desenvolvedor Magento e segue as boas práticas de desenvolvimento da plataforma sabe que a primeira coisa a se fazer quando for iniciar um novo projeto é instalar o Magento em seu ambiente de desenvolvimento local.
Perfeito, instalamos o Magento em em nosso local e acessamos ele na URL: http://localhost/magento/. Até então parece tudo tranquilo, mas quando vamos logar no admin colocamos o usuário e senha e ao tentar logar o Magento nos menda para a página de login novamente… sem mensagem de erro… sem logs… sem reports… legal! E agora? O que eu faço?
Acontece que, ao tentar logar no painel administrativo do Magento, o mesmo tenta criar cookies em seu navegador para que sejam utilizados na sessão do usuário, porém o Magento faz uma verificação do domínio para isto e, como localhost não é um domínio válido, o Magento não consegue criar os cookies e consequentemente impede o usuário de logar.
Uma solução temporária para isto é simples:
Como todo desenvolvedor Magento deve saber nunca se deve alterar um arquivo do Core do Magento (a menos que seja para fins de debug de workflow), portanto copie o arquivo de app/code/core/Mage/Core/Model/Session/Abstract/Varien.php para app/code/local/Mage/Core/Model/Session/Abstract/Varien.php e encontre as seguintes linhas:
[php]
…
// session cookie params
$cookieParams = array(
‘lifetime’ => $cookie->getLifetime(),
‘path’ => $cookie->getPath(),
‘domain’ => $cookie->getConfigDomain(),
‘secure’ => $cookie->isSecure(),
‘httponly’ => $cookie->getHttponly()
);
…
[/php]
Agora, para que você consiga logar, comente as linhas de código, conforme abaixo:
[php]
…
// session cookie params
$cookieParams = array(
‘lifetime’ => $cookie->getLifetime(),
‘path’ => $cookie->getPath(),
//’domain’ => $cookie->getConfigDomain(),
//’secure’ => $cookie->isSecure(),
//’httponly’ => $cookie->getHttponly()
);
…
[/php]
No Magento Community 1.7.0.2 este bloco de código está entre as linhas 85 e 92.
Lembram-se que eu disse que seria apenas uma solução paleativa para o problema? Pois é, agora a melhor solução para resolver isto e sem alterar qualquer arquivo do Core é utilizar virtual hosts em seu ambiente de desenvolvimento. No meu caso, quando inicio o desenvolvimento de qualquer projeto em Magento sempre cadastro primeiro o virtual host, como por exemplo http://local.magento.com/ ou http://local.minhalojalinda.com.br/.
Sei que estou devendo o término do post da configuração de um ambiente de desenvolvimento local e, assim que possível, eu posto todos os how to’s aqui, ok?
Espero que esta dica faça o cabelo de vocês cair menos 😉
Um abraço e até a próxima!
Tiago Sampaio
Olá! Tiago. No meu caso ele ta gerando o arquivo de erro. O começo do erro é
a:5:{i:0;s:67:”Mage registry key “_singleton/awall/feed_extensions” already exists”;i:1;s:1741:”#0 /home/mentepol/public_html/descontotche.com.br/site/app/Mage.php(222): Mage::throwException(‘Mage registry k…’)
#1 /home/mentepol/public_html/descontotche.com.br/site/app/Mage.php(476): Mage::register(‘_singleton/awal…’, false)
#2 /home/mentepol/public_html/descontotche.com.br/site/app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton(‘awall/feed_exte…’)
#3 /home/mentepol/public_html/descontotche.com.br/site/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent(‘controller_acti…’, Array)
#4 /home/mentepol/public_html/descontotche.com.br/site/app/code/core/Mage/Core/Controller/Varien/Action.php(528): Mage::dispatchEvent(‘controller_acti…’, Array)
#5 /home/mentepol/public_html/descontotche.com.br/site/app/code/core/Mage/Adminhtml/Controller/Action.php(160): Mage_Core_Controller_Varien_Action->preDispatch()
O que pode ser isso? Começo a aparecer depois que desinstalei um modulo. Obrigado!
Resolvi meu problema. Obrigado!
Ola Daniel.
Como resolveu este problema?
Estou com o mesmo, depois que instalei um modulo do facebook.
Obrigado!
Meu site em mageno esta hospedado no kinghost e tambem esta assim deves em quando eu tento logar mais mostra a pagina de login novamente esse metodo tambem funciona em sites hospedados?
Ola Tiago!
Depois que instalei um modulo do facebook não consegui mais acessar a pagina de admin, e gerou o mesmo arquivo de erro do Daniel.
Como resolvo esse problema? Obrigado!
Obrigado Tiago!
Resolveu meu problema.
De nada, Jonathan. Fico feliz em ter ajudado.
Abraços,
Tiago
Olá Thiago, tudo beleza?
Estou utilizando o Community (magento-1.9.1.1-2015-04-30-12-49-08) e a estrutura de pastas é diferente.
Tentei fazer o mesmo, colocando em: appcodecommunityCmRedisSessionModelVarien.php
mas não deu certo? O que fazer nesse caso? Agradeço
Olá, Ricardo. Tudo bem?
Provavelmente você está usando o Magento no http://localhost correto? Em caso positivo, crie um virtualhost correto para sua instalação Magento como por exemplo: http://local.magento.com e isso resolverá o seu problema.
Delete seus caches e cookies do navegador, mais precisamente os cookies chamados frontend e adminhtml.
Talvez este link te ajude:
Host Multiple Web Sites with One Physical Server – Virtual Hosting with Apache
Abraços,
Tiago
Faltou dizer que precisa remover a vírgula da linha:
‘path’ => $cookie->getPath(),
Ficando assim:
‘path’ => $cookie->getPath()
Olá Marcos,
Obrigado por sua colaboração. Isso não é necessário, pois o PHP vai interpretar corretamente com ou sem a vírgula em questão.
Abraços,
– Tiago
Olá Tiago,
Como resolver esse mesmo problema no magento2.
Aguardo seu retorno.
Abraços,
Edmar lima
Olá Edmar,
Normalmente o motivo deste problema são os cookies. Você já tentou acessar o painel administrativo utilizando uma aba anônima?
Abraços,
– Tiago
Olá Thiago, instalei o magento CE 2.1.12 e o login não entra nem dá mensagem de erro, após inserir login e senha corretos o sistema retorna pra tela de login. o sit não está em localhost e o bd está configurado corretamente. Detalhe a hospedagem é compartilhada e com ssl.
O que pode estar ocorrendo?
Olá Fernando, tudo bem?
No Magento 2 os problemas ainda são muitos, e alguns ainda podem ser semelhantes aos problemas do Magento 1. Seu caso, acredito que seja uma instalação nova, correto? Em caso positivo, o que eu sugiro é que, ao invés de você instalar a versão 2.1 do Magento, você instale a versão 2.2.3, ou a mais atual, pois o Magento 2 ainda possui uma lista muito grande de bugs, mas muitos deles já foram corrigidos nas novas versões. Não sei se você já fez este teste, mas por acaso o problema ocorre utilizando uma aba anônima do navegador ou limpando os cookies do mesmo?
Abraços,
– Tiago