Como corrigir Failed opening required no WordPress
O que é o erro Failed opening required?
O Failed opening required no WordPress é o erro fatal que o PHP emite quando uma instrução require ou require_once aponta para um arquivo que ele não consegue abrir: o caminho está errado, o arquivo foi apagado, a permissão impede a leitura ou um caminho absoluto de outro servidor sobrou após uma migração. Como o require é obrigatório (diferente do include), o PHP encerra o script imediatamente quando o arquivo falta, derrubando a página ou o site inteiro.
Como identificar
- Mensagem “Warning: require(/caminho/arquivo.php): Failed to open stream: No such file or directory” seguida de “Fatal error: Failed opening required ‘/caminho/arquivo.php'”.
- O caminho citado no erro aponta para um diretório de outro servidor (ex.: /home/usuário_antigo/…), sinal de migração mal resolvida.
- O erro surge após mover o site de hospedagem, atualizar um plugin que foi interrompida, ou excluir uma pasta de plugin/tema pela metade.
- A variação “Failed to open stream: Permission denied” aparece quando o arquivo existe, mas a permissão impede a leitura pelo PHP.
Antes de começar: Faça backup antes de editar ou reinstalar qualquer coisa. Nunca use 777 para tentar resolver o Permission denied: isso abre o arquivo para gravação por qualquer um e é um risco de segurança. As permissões corretas são 644 para arquivos e 755 para pastas.
Como prevenir
- Use sempre ABSPATH, plugin_dir_path() e get_template_directory() em vez de caminhos absolutos fixos
- Após migrar de host, navegue pelo wp-admin e pelas páginas principais conferindo se nada quebrou
- Não interrompa atualizações de plugin pela metade e mantenha as permissões padrão (644/755)
Causa
- Arquivo incluído por require foi apagado, renomeado ou não foi copiado na migração para o novo servidor.
- Caminho absoluto fixo no código apontando para a estrutura de pastas do servidor antigo (ex.: /home/usuário/public_html), inválido no novo host.
- Atualização ou exclusão de plugin interrompida que deixou referências a arquivos que já não existem.
- Permissões erradas no arquivo ou na pasta, impedindo o PHP de ler o arquivo (Permission denied).
- ABSPATH ou o caminho do tema/plugin mal definido após mudar o domínio ou o diretório de instalação.
Como resolver
- Leia o caminho do arquivo no erro: a mensagem cita o caminho exato que o PHP tentou abrir. Veja se esse arquivo existe via FTP e se o caminho corresponde ao servidor atual, não ao antigo.
- Identifique o plugin ou tema dono do arquivo: o caminho normalmente fica dentro de wp-content/plugins ou wp-content/themes. Isso diz qual extensão está chamando o arquivo que falta.
- Reinstale o plugin ou tema afetado: se o arquivo faltante é de um plugin, desative-o via FTP renomeando a pasta, apague e reinstale a versão limpa. A reinstalação repõe os arquivos ausentes.
- Corrija caminhos absolutos da migração: se o caminho aponta para o servidor antigo, troque caminhos fixos por constantes do WordPress como ABSPATH, plugin_dir_path() ou get_template_directory().
- Ajuste as permissões do arquivo: se o erro for Permission denied, aplique as permissões padrão para o PHP conseguir ler:
chmod 644 para arquivos chmod 755 para pastas
PHP
// ERRADO: caminho absoluto fixo que quebra apos migrar de servidor
require_once '/home/usuario_antigo/public_html/wp-content/plugins/meu-plugin/lib.php';
// CERTO: caminho relativo a propria pasta do plugin, valido em qualquer host
require_once plugin_dir_path( __FILE__ ) . 'lib.php';
// Para arquivos do tema, use a funcao equivalente:
require_once get_template_directory() . '/inc/funcoes.php';
Perguntas frequentes
O que significa No such file or directory no erro?
Significa que o arquivo apontado pelo require não está no caminho informado: foi apagado, renomeado ou não copiado na migração. Confira via FTP se o arquivo existe e se o caminho citado corresponde ao servidor atual.
O erro cita o caminho do servidor antigo. Como resolvo?
É um caminho absoluto que sobrou da migração. Substitua-o no código por uma função do WordPress como plugin_dir_path(__FILE__) ou get_template_directory(), que devolvem o caminho real do servidor atual em vez de um caminho fixo.
Qual a diferença de Failed opening required para include?
O require é obrigatório: se o arquivo falta, o PHP gera erro fatal e para o script. O include só emite um aviso e continua. Por isso o Failed opening required derruba a página, enquanto um include ausente costuma só registrar um warning.
Apareceu Permission denied em vez de No such file. O que muda?
O arquivo existe, mas a permissão impede o PHP de lê-lo. Aplique 644 ao arquivo e 755 à pasta via FTP. Nunca use 777: isso expõe o arquivo a gravação por qualquer processo e é uma falha de segurança.
Reinstalar o plugin apaga minhas configurações?
Reinstalar apenas os arquivos do plugin não apaga as configurações, que ficam no banco de dados. Mesmo assim, faça backup antes. Desative o plugin via FTP, reinstale a versão limpa e reative para repor os arquivos que faltavam.
Posso corrigir sem mexer em FTP?
Raramente, porque o erro fatal costuma travar o wp-admin. Quando o site cai, o caminho é acessar via FTP ou pelo gerenciador de arquivos da hospedagem para reinstalar o plugin, repor o arquivo ou ajustar o caminho no código.














