Teste rápido
Se um arquivo pequeno sobe e um grande não, o problema é limite de tamanho ou de tempo. Se nenhum sobe, é permissão, armazenamento ou código. Se só alguns tipos falham, é validação.
Limites que podem bloquear
| Onde | Configuração | Sintoma |
|---|---|---|
| PHP | upload_max_filesize e post_max_size | Arquivo chega vazio ou erro de validação |
| Servidor web (Nginx) | client_max_body_size | Erro 413 (requisição muito grande) |
| PHP | max_execution_time / tempo de leitura | Upload longo interrompido |
| Aplicação | Regras de validação de tamanho e tipo | Mensagem de arquivo inválido |
Armazenamento
- Pasta de destino sem permissão de escrita para o usuário do servidor
- Disco cheio, muitas vezes por logs ou uploads antigos
- No Laravel, link público de armazenamento ausente (arquivos sobem, mas não aparecem)
- Armazenamento em nuvem com credenciais, região ou permissões erradas
Segurança no upload
Ao corrigir, mantenha as proteções: validar o tipo real do arquivo, limitar o tamanho, não permitir que arquivos enviados sejam executados e guardar documentos sensíveis fora da área pública. Veja como contratar uma revisão de segurança.
Se uploads grandes também deixam o sistema lento, veja timeout em tarefas demoradas. Corrigimos uploads e armazenamento no nosso serviço de manutenção de sistemas PHP e Laravel.