Runbook — Exportação de currículos em PDF sem ZIP
Problema
Em hospedagem compartilhada, gerar um ZIP com muitos currículos pode causar 504 Gateway Timeout, Resource Limit Is Reached ou carregamento infinito.
Regra correta
Não usar exportação geral em ZIP como fluxo principal. O fluxo oficial é:
- Acessar
MT1/trabalhe_conosco/rh/exportar_curriculos.php. - Filtrar por unidade/cargo/status quando necessário.
- Selecionar os currículos desejados.
- Enviar para
rh/exportar_curriculos_selecionados.php. - Baixar cada PDF individualmente.
Nome do arquivo
Cada download deve usar:
nome-sobrenome.pdf
Headers obrigatórios
Content-Type: application/pdfContent-Disposition: attachment; filename="nome-sobrenome.pdf"; filename*=UTF-8''nome-sobrenome.pdfX-Content-Type-Options: nosniff
Se PDF vier como “arquivo” sem extensão
- Conferir
rh/baixar_curriculo.php. - Confirmar que o
Content-Dispositioninclui.pdf. - Confirmar que o
downloadNametermina em.pdf. - Conferir se nenhum output HTML/erro foi enviado antes dos headers.
- Validar
php -l rh/baixar_curriculo.php.
Se imagem não converter para PDF
- Ativar extensão PHP GD no cPanel/UOL.
- Testar com JPG/PNG pequenos.
- Verificar se o arquivo existe em
storage/curriculos. - Conferir logs em
logs/app.log.