Um 500 Internal Server Error é a falha mais genérica que um servidor pode retornar. Significa: "tentei processar sua requisição, algo deu errado e não posso dizer o quê". É um código 5xx — problema do servidor — e a info útil nunca está na página. Está nos logs.

O que 500 realmente significa

O 500 é o curinga ao qual o servidor recorre quando bate num erro que não previu e não tem um código mais específico. Diferente de um 404 ou 403, ele não diz quase nada de propósito — expor o erro real aos visitantes seria um risco de segurança. A página é vaga, mas a causa é concreta e está esperando nos seus logs.

Causas comuns

CausaO que acontece
Exceção não tratadaO código lançou um erro que ninguém capturou
Deploy ruimUm release recente introduziu um bug
Config / .htaccessRegra de servidor ou rewrite malformada
PermissõesDono ou modo de arquivo errado
Falha de bancoA app não conecta ou consulta
Sem memóriaO processo morreu no meio da requisição

Como corrigir — como desenvolvedor

  1. Leia os logs do servidor. Está tudo lá — o stack trace nomeia arquivo e linha.
  2. Revise seu último deploy. Se começou após um release, é o suspeito; rollback para confirmar.
  3. Verifique config e permissões (.htaccess, modo 755/644).
  4. Teste a conexão com o banco.
  5. Cheque memória (OOM sob carga).

Pegue os 500 assim que começam

Um 500 solto é ruído; um spike é um incidente. A diferença entre uma queda de 10 minutos e uma de 3 horas é a rapidez com que você descobre. O Nurbak Watch rastreia a taxa de erro de cada endpoint e te avisa assim que os 500 sobem.

Códigos HTTP relacionados