Não consigo logar no admin do Magento e não aparece mensagem de erro nenhuma…

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

15 thoughts on “Não consigo logar no admin do Magento e não aparece mensagem de erro nenhuma…

  1. 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!

    Like

    1. 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

      Like

  2. Fernando Polito

    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?

    Like

    1. 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

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s