Como corrigir Missing a temporary folder
O que é o erro Missing a temporary folder?
Todo upload no WordPress passa primeiro por uma pasta temporária do PHP, definida na diretiva upload_tmp_dir do servidor. O PHP grava o arquivo ali, o WordPress lê e move para wp-content/uploads. Quando essa pasta temporária não existe, aponta para um caminho inválido ou está sem permissão de escrita, o PHP falha logo no início do upload e o WordPress exibe a mensagem Missing a temporary folder. O conteúdo do site continua intacto; só os envios param de funcionar.
Como identificar
- Mensagem “Missing a temporary folder.” ao enviar imagens para a Biblioteca de Mídia.
- Em sites em português, a mensagem “Faltando uma pasta temporária.”.
- Falha também ao instalar plugins ou temas pelo painel, que dependem do mesmo diretório temporário.
- O erro começou após uma migração de servidor, troca de hospedagem ou atualização do PHP.
Antes de começar: Use 777 apenas para um teste rápido e volte a permissão para 755 assim que confirmar que o upload funciona. Permissão 777 deixa a pasta gravável por qualquer processo do servidor e é um risco de segurança se ficar permanente.
Como prevenir
- Mantenha uma pasta wp-content/tmp definida em WP_TEMP_DIR para não depender do /tmp do servidor
- Após migrar de hospedagem, confira o upload_tmp_dir do novo php.ini antes de testar uploads
- Acompanhe a cota de disco do servidor para a pasta temporária nunca ficar sem espaço
Causa
- Diretiva upload_tmp_dir do PHP apontando para uma pasta que não existe no servidor.
- Pasta temporária do sistema (geralmente /tmp) sem permissão de escrita para o usuário do PHP.
- Migração de hospedagem que trouxe um php.ini com um caminho de tmp do servidor antigo.
- Cota de disco do servidor esgotada, impedindo a criação de arquivos na pasta temporária.
- Configuração de open_basedir restringindo o acesso do PHP ao diretório temporário do sistema.
Como resolver
- Crie uma pasta temporária no site: via FTP, crie uma pasta chamada tmp dentro de wp-content. Ela vai servir de diretório temporário próprio, sem depender do /tmp do servidor.
- Dê permissão de escrita à pasta: ajuste a permissão da pasta wp-content/tmp para 755 (ou 777 só para testar) no cliente FTP, garantindo que o PHP possa gravar arquivos ali.
- Aponte o PHP para a nova pasta: no wp-config.php, defina o caminho do tmp antes da linha 'That's all'. Isso força o WordPress a usar a pasta que você criou.
define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/tmp/'); - Ajuste o upload_tmp_dir do PHP: se você tem acesso ao php.ini ou .user.ini, defina o upload_tmp_dir para um caminho válido e gravável, e reinicie o serviço se for php.ini.
- Teste um upload: envie uma imagem para a Biblioteca de Mídia. Se passar, o problema era a pasta temporária. Se o erro voltar, confira cota de disco e open_basedir com a hospedagem.
PHP
// wp-config.php — define uma pasta temporaria propria para os uploads.
// Coloque ANTES da linha "That's all, stop editing!".
// Crie antes a pasta wp-content/tmp com permissao de escrita (755).
define( 'WP_TEMP_DIR', dirname( __FILE__ ) . '/wp-content/tmp/' );
Perguntas frequentes
Que pasta temporária está faltando nesse erro?
É o diretório que o PHP usa para guardar arquivos durante o upload, definido na diretiva upload_tmp_dir, normalmente o /tmp do servidor. Quando esse caminho não existe ou está sem permissão de escrita, o PHP falha e o WordPress mostra Missing a temporary folder.
Por que o erro apareceu depois de trocar de hospedagem?
Porque a migração costuma trazer um php.ini com o caminho de tmp do servidor antigo, que não existe no novo. O PHP tenta gravar num diretório inválido e falha. Definir o WP_TEMP_DIR para uma pasta dentro do próprio site resolve sem depender do servidor.
Preciso editar o php.ini ou dá para resolver só no WordPress?
Dá para resolver só no WordPress definindo WP_TEMP_DIR no wp-config.php e criando a pasta wp-content/tmp com permissão de escrita. Editar o php.ini é necessário apenas se você quiser ajustar o upload_tmp_dir do servidor de forma global.
Qual permissão devo dar à pasta tmp?
Use 755 para uso normal, que permite ao PHP gravar mantendo a pasta protegida. Se quiser apenas testar se o problema é permissão, 777 funciona, mas volte para 755 logo depois, porque 777 é um risco de segurança permanente.
O erro também trava a instalação de plugins. Por quê?
Porque instalar plugins e temas pelo painel também usa a pasta temporária do PHP para descompactar o arquivo. Se o diretório temporário está ausente, tanto o upload de mídia quanto a instalação falham com o mesmo erro. A mesma correção atende aos dois casos.
Defini o WP_TEMP_DIR e o erro continua. O que mais checar?
Verifique se a pasta wp-content/tmp realmente existe e tem permissão de escrita, se o disco do servidor não está com a cota esgotada e se o open_basedir não está bloqueando o caminho. A hospedagem pode confirmar as duas últimas restrições.














