Pular para o conteúdo principal

Erros 500 & Depuração

Como diagnosticar e corrigir erros 500 Internal Server Error.


Passo 1: Verificar o Log

O passo mais importante. O Laravel registra todos os erros em:

tail -100 storage/logs/laravel.log

Isso mostrará a mensagem de erro exata, o arquivo e o número da linha.


Passo 2: Habilitar o Modo Debug (Temporariamente!)

APP_DEBUG=true

Atualize a página — você verá uma página de erro detalhada com:

  • Mensagem de erro
  • Stack trace
  • Detalhes da requisição
  • Informações do ambiente
aviso

Defina APP_DEBUG=false imediatamente após depurar!


Erros 500 Comuns

"The stream or file could not be opened"

Causa: Problema de permissões de armazenamento.

sudo chmod -R 775 storage bootstrap/cache
sudo chown -R www-data:www-data storage bootstrap/cache

"No application encryption key has been specified"

Causa: APP_KEY ausente ou inválida.

php artisan key:generate

"SQLSTATE[HY000] Connection refused"

Causa: Falha na conexão com o banco de dados.

Verifique as configurações do banco de dados no .env e certifique-se de que o MySQL está rodando.

"Class 'X' not found"

Causa: Dependências do Composer ausentes.

composer install --no-dev --optimize-autoloader
php artisan config:clear

"View [x] not found"

Causa: Arquivo de view ausente ou corrompido.

php artisan view:clear

Se o arquivo estiver genuinamente faltando, faça o upload novamente do pacote original.

"Maximum execution time exceeded"

Causa: Operação demorada (backup, migração, análise de IA).

Aumente o timeout do PHP:

max_execution_time = 300

Coletando Informações de Depuração para Suporte

Ao relatar um bug, inclua:

php -v                          # Versão do PHP
php artisan --version # Versão do Laravel
mysql --version # Versão do MySQL
cat .env | grep -E "^(APP_|DB_|MAIL_|QUEUE_)" # Configuração (sem senhas!)
tail -50 storage/logs/laravel.log # Erros recentes

Próximos Passos