🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir Failed opening required no WordPress

Time Full Services Time Full Services
Tipo Erro de PHP
Nome do erro Failed opening required EN: Failed opening required
Severidade Grave
Descrição O Failed opening required é um erro fatal de PHP que aparece quando o código manda incluir um arquivo (com require) que não existe no caminho informado, está com permissão negada ou foi apagado. O WordPress para na hora e a página não abre, geralmente após uma migração, uma atualização interrompida ou um plugin removido pela metade.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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().
  5. 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.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes