Diagnóstico pelo padrão
| Padrão | Causa provável |
|---|---|
| Sempre após X minutos parado | SESSION_LIFETIME curto (valor em minutos) |
| Todos desconectam ao mesmo tempo | Publicação que limpa sessões, cache limpo ou APP_KEY alterada |
| Desconecta “aleatoriamente” em uso | Vários servidores com sessão em arquivo local |
| Desconecta em horários de pico | Sessões no Redis sendo descartadas por falta de memória |
| Nunca consegue manter o login | Cookie seguro sem HTTPS, ou domínio da sessão errado |
| Erro 419 (página expirada) | Sessão perdida antes de enviar um formulário |
Configurações a revisar
SESSION_DRIVER: onde as sessões ficam (arquivo, banco, Redis, cache)SESSION_LIFETIME: duração da sessão sem atividadeSESSION_DOMAINeSESSION_SECURE_COOKIE: compatíveis com o domínio e com HTTPSAPP_KEY: não deve mudar entre publicações- Processo de publicação: não apagar a pasta de sessões nem limpar o armazenamento usado por elas
Com mais de um servidor
Se o sistema roda em mais de um servidor, sessões em arquivo local não funcionam: cada requisição pode cair em uma máquina diferente. Use banco de dados ou Redis compartilhado. Veja sistema trava com muitos usuários, que trata da escala com vários servidores.
Leia também
Se o problema é não conseguir entrar, e não ser desconectado, veja login do sistema não funciona. Investigamos problemas de sessão em sistemas Laravel no nosso serviço de manutenção de sistemas PHP e Laravel.