Como corrigir Could not create directory no WordPress
O que é o erro Could not create directory?
O WordPress precisa criar pastas em disco para instalar e atualizar plugins, temas e para descompactar pacotes na pasta wp-content/upgrade. Quando o usuário do PHP que roda o WordPress não tem permissão de escrita no diretório de destino, a função de criação de pasta falha e o painel mostra Could not create directory. O erro é de permissão de arquivo, não de banco de dados: o site continua no ar, mas instalações, atualizações e às vezes uploads param porque o WordPress não consegue gravar no disco.
Como identificar
- Mensagem “Could not create directory.” ao instalar ou atualizar um plugin ou tema pelo painel.
- Em sites em português, a mensagem “Não foi possível criar o diretório.”.
- A atualização para na tela do instalador, sem concluir, e o plugin fica numa versão antiga.
- O caminho citado na mensagem aponta para wp-content/upgrade, wp-content/plugins ou wp-content/uploads.
Antes de começar: Nunca deixe a pasta wp-content em 777 de forma permanente. Essa permissão deixa qualquer processo do servidor gravar nos seus arquivos e é um vetor de invasão. Se usar 777 só para testar, volte para 755 logo depois.
Como prevenir
- Mantenha wp-content e subpastas em 755 e arquivos em 644 após qualquer migração ou restauração de backup
- Ao mover arquivos por SSH como root, sempre reaplique o dono correto com chown ao terminar
- Acompanhe a cota de disco da hospedagem para o servidor nunca ficar sem espaço para criar pastas
Causa
- Pasta wp-content (ou wp-content/upgrade) sem permissão de escrita para o usuário do PHP, geralmente em 644 quando deveria estar 755.
- Dono dos arquivos diferente do usuário que roda o PHP/Apache, comum após restaurar backup ou migrar de servidor por SSH como root.
- Pasta wp-content/upgrade ausente, que o WordPress usa como área temporária para descompactar pacotes.
- Cota de disco da hospedagem esgotada, impedindo a criação de qualquer novo diretório.
- Regra de open_basedir ou de jail do servidor restringindo onde o PHP pode gravar.
Como resolver
- Identifique a pasta citada no erro: leia o caminho na mensagem Could not create directory. Quase sempre é wp-content/upgrade, wp-content/plugins ou wp-content/uploads. É essa pasta que precisa ficar gravável.
- Ajuste a permissão da pasta para 755: no cliente FTP ou no gerenciador de arquivos da hospedagem, defina a permissão da pasta wp-content e das subpastas para 755 e os arquivos para 644. Esse é o padrão recomendado pelo WordPress.
- Crie a pasta wp-content/upgrade se faltar: via FTP, confira se existe a pasta wp-content/upgrade. Se não existir, crie manualmente com permissão 755. O WordPress usa essa pasta para descompactar as atualizações.
- Corrija o dono dos arquivos via SSH: se você tem acesso SSH, ajuste o dono de wp-content para o usuário do servidor web. Em muitas hospedagens é www-data; em painéis cPanel costuma ser o usuário da conta. Use o comando abaixo com o usuário correto.
chown -R www-data:www-data wp-content find wp-content -type d -exec chmod 755 {} ; find wp-content -type f -exec chmod 644 {} ; - Teste a instalação de novo: volte ao painel e tente instalar ou atualizar o plugin novamente. Se o erro persistir, confira a cota de disco e o open_basedir com a hospedagem.
BASH
# Via SSH na raiz do site: corrige dono e permissoes do wp-content.
# Troque www-data pelo usuario do seu servidor web (ex.: o usuario da conta no cPanel).
chown -R www-data:www-data wp-content
# Pastas em 755, arquivos em 644 (padrao recomendado pelo WordPress):
find wp-content -type d -exec chmod 755 {} ;
find wp-content -type f -exec chmod 644 {} ;
# Garante a pasta de atualizacao usada pelo instalador:
mkdir -p wp-content/upgrade && chmod 755 wp-content/upgrade
Perguntas frequentes
Por que o WordPress precisa criar diretórios?
Para instalar e atualizar plugins e temas, o WordPress baixa um pacote e o descompacta numa pasta temporária dentro de wp-content/upgrade, depois move os arquivos para o destino. Se ele não consegue criar essas pastas por falta de permissão, a operação falha com Could not create directory.
Qual permissão devo dar à pasta wp-content?
Use 755 para a pasta wp-content e suas subpastas, e 644 para os arquivos. Esse é o padrão recomendado pelo WordPress: permite ao servidor gravar quando precisa, sem abrir a pasta para qualquer processo, como aconteceria com 777.
O erro apareceu depois de restaurar um backup. Por quê?
Restaurações e migrações feitas por SSH como root costumam deixar os arquivos com dono root, em vez do usuário do servidor web. Como o PHP roda com outro usuário, ele perde a permissão de escrita. Reaplicar o dono correto com chown resolve.
Posso usar 777 para resolver de vez?
Não use 777 de forma permanente. Ela deixa qualquer processo do servidor gravar nos seus arquivos, o que é um risco grave de segurança. Se precisar testar se o problema é permissão, use 777 por um instante e volte para 755 assim que confirmar.
Não tenho acesso SSH. Dá para resolver só por FTP?
Sim. Pelo cliente FTP você consegue ajustar as permissões das pastas para 755 e criar a pasta wp-content/upgrade se ela faltar. O que o FTP não faz bem é mudar o dono dos arquivos; nesse caso, peça à hospedagem para corrigir a posse.
Ajustei tudo e o erro continua. O que mais checar?
Confira se a cota de disco da hospedagem não está esgotada, pois sem espaço o servidor não cria nenhuma pasta. Verifique também se uma regra de open_basedir não está bloqueando o caminho. A hospedagem pode confirmar essas duas restrições.














