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.
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
// 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';














