Closed gabrieldesousah closed 7 years ago
Qual o driver de sessão em uso? Se você não alterou o config/session.php
é o tal do SESSION_DRIVER
informado no .env
.
Sendo o driver padrão file
(e eu já sei que é ele*), verifique se os arquivos de sessão estão sendo criados em storage/framework/sessions
. Se não estiverem, você muito provavelmente se esqueceu de alterar a permissão do diretório storage
.
Neste caso, faça isso:
sudo chgrp -R www-data storage
sudo chmod -R ug+rwx storage
Se o Laravel não estiver conseguindo criar os arquivos de sessão você receberá o TokenMismatchException
em 100% das vezes.
Esta seria a razão mais provável levando em conta as versões mais recentes do Laravel e ainda o fato de funcionar localmente e no servidor não. Se o problema não for este, seria interessante saber qual versão você está usando. 👍
* Note que você foi avisado no caso #36 que seu arquivo .env
está público para todo mundo ver. Ele continua público. 😐
PS: Adicione o base64:
de volta ao app_key
. Melhor, gere outra chave, essa já foi exposta. rs
Kkkkkk muito obrigado, irei fazer o q me informou. Algumas dúvidas: para q serve o base64?
Como eu faço:
sudo chgrp -R www-data storage sudo chmod -R ug+rwx storage
No cPanel?
Como eu gero outra chave?
Desculpe a ignorância.. comecei há pouco tempo no Laravel
Em 28 de mar de 2017 23:09, "Paulo Freitas" notifications@github.com escreveu:
Qual o driver de sessão em uso? Se você não alterou o config/session.php é o tal do SESSION_DRIVER informado no .env.
Sendo o driver padrão file (e eu já sei que é ele*), verifique se os arquivos de sessão estão sendo criados em storage/framework/sessions. Se não estiverem, você muito provavelmente se esqueceu de alterar a permissão do diretório storage.
Neste caso, faça isso:
sudo chgrp -R www-data storage sudo chmod -R ug+rwx storage
Se o Laravel não estiver conseguindo criar os arquivos de sessão você receberá o TokenMismatchException em 100% das vezes.
Esta seria a razão mais provável levando em conta as versões mais recentes do Laravel. Se o problema não for este, seria interessante saber qual versão você está usando. 👍
- Note que você foi avisado no caso #36 https://github.com/laravelbrasil/forum/issues/36 que seu arquivo .env está público para todo mundo ver. Ele continua público. 😐
PS: Adicione o base64: de volta ao app_key. Melhor, gere outra chave, essa já foi exposta. rs
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/laravelbrasil/forum/issues/49#issuecomment-289960479, or mute the thread https://github.com/notifications/unsubscribe-auth/ALQWY54IUZt9CsoXD1M715vVqnYpjB_sks5rqb1VgaJpZM4MsJci .
Verifiquei a pasta storage/framework/sessions e ela tá com permissão 755 gerando todos os arquivos de sessão, porém o ocorre permanece.. Estou usando a versão 5.4 do Laravel
@Gabrieldesousah As chaves de aplicação são codificadas através do algoritmo Base64. Se você remove o base64:
você irá fazer o Laravel achar que sua APP_KEY
é completamente diferente daquela que ele te gerou, gerando implicações quando o framework utiliza os recursos de encriptação.
Tanto as permissões como a geração de outra chave implicam em acesso ao servidor, idealmente via SSH. Mas se o servidor for compartilhado isso dificilmente estará disponível. 😞
No caso das permissões isso também pode ser feito via SFTP/FTP, mas pode não ser o suficiente. As permissões ug+rwx
implicam em chmod 0775
. Se está 0755
é sinal de que o grupo não tem permissão de escrita. Vi aqui que você está usando o LiteSpeed, pelo que sei ele usa o grupo www-data
como o Apache. Apesar dos arquivos estarem sendo escritos no diretório, ainda pode haver algum problema em relação a isso, principalmente se estes arquivos foram gerados antes de subir o projeto pro servidor. O diretório storage e todos os demais diretórios dentro dele precisam ter a permissão 0775
ou ug+rwx
. 👍
Sobre a geração da chave, se você não tiver acesso SSH, simplesmente faça isso localmente e envie o novo arquivo .env
pro servidor. 👍
Não se esqueça de mudar outras credenciais expostas também. Além disso, coloque isso no .htaccess
para bloquear o acesso ao .env
:
<Files .env>
Order Allow,Deny
Deny from all
</Files>
Voltando ao problema...
Se o chmod 0775
não resolver, só para desencargo de consciência eu tentaria usar o driver de sessão database
para certificar de que o problema realmente está fora de qualquer limitação externa.
Recentemente tenho visto aparecer situações bizarras envolvendo o TokenMismatchException
depois que implementaram o SESSION_DOMAIN
no arquivo config/session.php
. Lá no issue tracker do Laravel tem vários casos falando sobre isso, como este aqui: https://github.com/laravel/framework/issues/15040#issuecomment-251688514
Alguns usuários reportaram que ao colocar o SESSION_DOMAIN
no arquivo .env
com o mesmo domínio do APP_URL
o problema deixou de ocorrer. Note que, neste caso, tanto seu APP_URL
como seu SESSION_DOMAIN
precisam apontar para o domínio real da sua aplicação, no caso https://inovacaonaborracha.com.br/public/.
Resumindo então os próximos passos:
0775
resolve o problemadatabase
resolve o problema
Além de alterar o SESSION_DRIVER
no .env
você deveria rodar o php artisan session:create
para criar a migration da tabela de sessões e em seguida o php artisan migrate
para aplicar a migration. Mas sendo um host compartilhado, você provavelmente teria que fazer isso localmente usando o servidor externo como conexão do banco, isso se ele aceitar conexões externas. rs Caso não aceite teria que simplesmente replicar no banco externo a tabela de sessões.APP_URL
e adicionar o SESSION_DOMAIN
apontando para o mesmo domínio resolve o problema👍
Muito obrigado @paulofreitas infelizmente nada que me informou deu certo.. então peguei uma versao anterior do site e upei. dessa vez deu certo efunciona bem. Muito obrigado por compartilhar seu conhecimento de forma tão ativa
Por nada, @Gabrieldesousah! :)
Como a situação se resolveu estou marcando como resolvido, Ok?! 👍
Viva, o acesso ao arquivo .env
foi bloqueado! 😄
Abraço! o/
Kkkk eu nem sabia que ele estava disponível, Penske q era proibido por htaccess mas show de bola. Vlw ae
Em 30 de mar de 2017 22:36, "Paulo Freitas" notifications@github.com escreveu:
Por nada, @Gabrieldesousah https://github.com/Gabrieldesousah! :)
Como a situação se resolveu estou marcando como resolvido, Ok?! 👍
Viva, o acesso ao arquivo .env foi bloqueado! 😄
Abraço! o/
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/laravelbrasil/forum/issues/49#issuecomment-290591779, or mute the thread https://github.com/notifications/unsubscribe-auth/ALQWY0SuSCW2fOjm6e7OymyA6kG9J9U-ks5rrFixgaJpZM4MsJci .
Eu estava com o mesmo problema. Pelo artisan serve a aplicação funcionava corretamente. Pelo servidor apache local não funcionava. Então seguindo a dica do @paulofreitas dei mais atenção a pasta storage/framework/sessions. Alterei as permissões e, além disso, deletei alguns arquivos que haviam lá e tudo funcionou perfeitamente. Obrigado a todos.
Eu estava com o mesmo problema no servidor na hora de registrar um usuario e o problema foi resolvido com a dica do @paulofreitas, alterando a permissão da pasta storage. Entretanto, um outro problema persiste: No servidor o login não é efetuado e não retorna nenhuma mensagem. Na maquina local funciona perfeito. Quando registro um novo usuario, ocorre o login automaticamente, mas quando faço logout e tento logar com o usuario que acabei de criar, nada acontece, volta para a tela de login inicial. Se alguem puder me ajudar eu agradeço.
O usuário está sendo criado no seu banco de dados?
2017-09-16 11:34 GMT-03:00 rsweigert notifications@github.com:
Eu estava com o mesmo problema no servidor na hora de registrar um usuario e o problema foi resolvido com a dica do @paulofreitas https://github.com/paulofreitas, alterando a permissão da pasta storage. Entretanto, um outro problema persiste: No servidor o login não é efetuado e não retorna nenhuma mensagem. Na maquina local funciona perfeito. Quando registro um novo usuario, ocorre o login automaticamente, mas quando faço logout e tento logar com o usuario que acabei de criar, nada acontece, volta para a tela de login inicial. Se alguem puder me ajudar eu agradeço.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/laravelbrasil/forum/issues/49#issuecomment-329972135, or mute the thread https://github.com/notifications/unsubscribe-auth/ALQWY-DK0XSiWyAw7jvWD-0QBt4j-caRks5si9x2gaJpZM4MsJci .
-- Atenciosamente, Gabriel Henrique.
Criador do Seu Mérito ponto com http://seumerito.com/ Aluno de Engenharia Elétrica - UFG Organizador do Desafio Inovação na Borracha Membro de TI em Agremiação Politécnica da UFG Diretor Acadêmico no Centro Acadêmico de Engenharia Elétrica da UFG
Problema foi resolvido. Era falta de permissão na pasta Storage.
Enviado do meu iPhone
Em 24 de set de 2017, às 13:25, Gabriel Henrique notifications@github.com<mailto:notifications@github.com> escreveu:
O usuário está sendo criado no seu banco de dados?
2017-09-16 11:34 GMT-03:00 rsweigert notifications@github.com<mailto:notifications@github.com>:
Eu estava com o mesmo problema no servidor na hora de registrar um usuario e o problema foi resolvido com a dica do @paulofreitas https://github.com/paulofreitas, alterando a permissão da pasta storage. Entretanto, um outro problema persiste: No servidor o login não é efetuado e não retorna nenhuma mensagem. Na maquina local funciona perfeito. Quando registro um novo usuario, ocorre o login automaticamente, mas quando faço logout e tento logar com o usuario que acabei de criar, nada acontece, volta para a tela de login inicial. Se alguem puder me ajudar eu agradeço.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/laravelbrasil/forum/issues/49#issuecomment-329972135, or mute the thread https://github.com/notifications/unsubscribe-auth/ALQWY-DK0XSiWyAw7jvWD-0QBt4j-caRks5si9x2gaJpZM4MsJci .
-- Atenciosamente, Gabriel Henrique.
Criador do Seu Mérito ponto com http://seumerito.com/ Aluno de Engenharia Elétrica - UFG Organizador do Desafio Inovação na Borracha Membro de TI em Agremiação Politécnica da UFG Diretor Acadêmico no Centro Acadêmico de Engenharia Elétrica da UFG
— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/laravelbrasil/forum/issues/49#issuecomment-331721070, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJqpzTfg-yOXuTtVfjgavjS5NP-lcAF2ks5sloKIgaJpZM4MsJci.
Estava com o mesmo problema, apenas limpei o Storage/framework/sessions e voltou funcionar normalmente!
Boas Galera.
Estou com o mesmo problema, no meu servidor local ( de desenvolvimento) esta funcionando perfeitamete, porem quando eu passo a aplicação para produção a aplicação até abre até a view de login, a partir desse ponto o erro acontece. Tomei as seguintes ações:
a) alterei o .env para PP_NAME=Laravel APP_ENV=local APP_KEY=base64:gQcJMuhOx5vZUG9QBitHzPlawF+T2PpfRw5ni+Hzkps= APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=http://http://www.kalecki.com.br/gerador/public/
alterei o /config/session.php para
'domain' => env('SESSION_DOMAIN', 'http://www.kalecki.com.br/gerador/public/'),
alterei a permissão do /storange para 775 Efetuei a limpeza do /storange/framework/session
Criei php artisan session:table php artisan migrate
Nada disso seu certo .
Mais uma vez . No servidor Local está funcionando. No servidor de produção não. Detalhe : O servidor de produção é compartilhado(provedor).
Alguém poderia me ajudar?
Você tem acesso ao SSH? O composer está instalado no seu servidor?
Tentei subir um projeto desenvolvido localmente, e cai neste problema de configuração de rotas, resolvi meu problema instalando o composer no meu servidor em seguida instalando o laravel via composer aí só subi meus controles modelos e views e funcionou perfeitamente.
Em 8 de nov de 2017 11:32 PM, "mjbezer" notifications@github.com escreveu:
Boas Galera.
Estou com o mesmo problema, no meu servidor local ( de desenvolvimento) esta funcionando perfeitamete, porem quando eu passo a aplicação para produção a aplicação até abre até a view de login, a partir desse ponto o erro acontece. Tomei as seguintes ações:
a) alterei o .env para PP_NAME=Laravel APP_ENV=local APP_KEY=base64:gQcJMuhOx5vZUG9QBitHzPlawF+T2PpfRw5ni+Hzkps= APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=http://http://www.kalecki.com.br/gerador/public/
alterei o /config/session.php para
'domain' => env('SESSION_DOMAIN', 'http://www.kalecki.com.br/ gerador/public/'),
alterei a permissão do /storange para 775 Efetuei a limpeza do /storange/framework/session
Criei php artisan session:table php artisan migrate
Nada disso seu certo .
Mais uma vez . No servidor Local está funcionando. No servidor de produção não. Detalhe : O servidor de produção é compartilhado(provedor).
Alguém poderia me ajudar?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/laravelbrasil/forum/issues/49#issuecomment-343018593, or mute the thread https://github.com/notifications/unsubscribe-auth/Afz9bcuDeUiyFUWo_1qk0MJu7b41UCdEks5s0lYrgaJpZM4MsJci .
vou efetuar esse procedimento depois eu posto aqui.
Olá
É preciso criar nova chave (APP_KEY) no servidor que foi instalado.
Acesso via SSH e dê o comando: php artisan key:generate
Assim será gerada nova chave.
Acho que resolve o seu problema.
Atenciosamente
Marcelo Gomes MG Consultoria e Serviços de TI (11) 2214-3585 / (11) 9 83643775 http://www.mgconsultoriainformatica.com.br
TrabalhoEmDia.com A evolução na forma de trabalhar https://www.trabalhoemdia.com
"As informações contidas nesta mensagem e no(s) anexo(s) são endereçadas exclusivamente à(s) pessoa(s) e/ou instituição(ões) acima indica(s) e podem conter informações confidenciais e/ou privilegiadas. Se você não for o destinatário ou a pessoa autorizada a recebê-la, queira, por favor, retorná-la ao remetente e em seguida apagá-la definitivamente. Qualquer uso, cópia ou divulgação das informações nela contidas, na íntegra ou parcialmente, são proibidas e serão tratadas conforme legislação vigente."
Em 10 de novembro de 2017 08:57, AlexandreBhz1 notifications@github.com escreveu:
Você tem acesso ao SSH? O composer está instalado no seu servidor?
Tentei subir um projeto desenvolvido localmente, e cai neste problema de configuração de rotas, resolvi meu problema instalando o composer no meu servidor em seguida instalando o laravel via composer aí só subi meus controles modelos e views e funcionou perfeitamente.
Em 8 de nov de 2017 11:32 PM, "mjbezer" notifications@github.com escreveu:
Boas Galera.
Estou com o mesmo problema, no meu servidor local ( de desenvolvimento) esta funcionando perfeitamete, porem quando eu passo a aplicação para produção a aplicação até abre até a view de login, a partir desse ponto o erro acontece. Tomei as seguintes ações:
a) alterei o .env para PP_NAME=Laravel APP_ENV=local APP_KEY=base64:gQcJMuhOx5vZUG9QBitHzPlawF+T2PpfRw5ni+Hzkps= APP_DEBUG=true APP_LOG_LEVEL=debug APP_URL=http://http://www.kalecki.com.br/gerador/public/
alterei o /config/session.php para
'domain' => env('SESSION_DOMAIN', 'http://www.kalecki.com.br/ gerador/public/'),
alterei a permissão do /storange para 775 Efetuei a limpeza do /storange/framework/session
Criei php artisan session:table php artisan migrate
Nada disso seu certo .
Mais uma vez . No servidor Local está funcionando. No servidor de produção não. Detalhe : O servidor de produção é compartilhado(provedor).
Alguém poderia me ajudar?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <https://github.com/laravelbrasil/forum/issues/49#issuecomment-343018593 , or mute the thread https://github.com/notifications/unsubscribe-auth/Afz9bcuDeUiyFUWo_ 1qk0MJu7b41UCdEks5s0lYrgaJpZM4MsJci .
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/laravelbrasil/forum/issues/49#issuecomment-343442921, or mute the thread https://github.com/notifications/unsubscribe-auth/AIZeFKIHqZsWq9bcbMWfGZItxq6D_ex0ks5s1CwEgaJpZM4MsJci .
Esse problema foi resolvido:
Conclusão : Havia um problema de versão entre o servidor de desenvolvimento é o servidor compartilhado, desenvolvi a aplicação em php 7.1 e o servidor compartilhado estava com php 5.6
inclui a linha AddHandler application/x-httpd-php71 .php no .htaccess e resolveu.
Simples assim!
Obrigado a todos .
Verifique no seu .env se a url de APP_URL é a mesma que está em etc/hosts
Obrigado pela dica paulofreires: sudo chmod -R ug+rwx storage Resolveu meu problema. Valeu
No meu caso era problema na pasta storage e nas suas sub-pastas que estavam sem permissão no linux.
Dei permissão 777 na pasta storage e nas subpastas framework e logs e nas subpastas cache, sessions e views da pasta framework e funcionou.
Pra quem é leigo, usei o comando sudo chmod 777
Descrição Geral do Problema
Problema Encontrado
No login que estou utilizando pelo próprio Laravel, em meu loccalhost tudo funciona perfeitamente, mas em servidor estou tendo o erro: TokenMismatchException in VerifyCsrfToken.php line 68:
já olheu tudo sobre o csrf_field() e parece estar funcionando corretamente, porém está dando erro.
Meu site para caso queiram testar: https://inovacaonaborracha.com.br/public/login
Abordagem
tentei mudar o .env tirando o base64 do app_key porém sem solução.