🎉 USE O CUPOM DESCONTO-FULL | 10% OFF acima de R$ 100,00

Como corrigir Parse error / syntax error no PHP

Time Full Services Time Full Services
Tipo Erro de PHP
Nome do erro Como corrigir Parse error / syntax error no PHP
Severidade Crítico
Descrição O parse error (syntax error) é um erro fatal de PHP que aparece quando há um erro de digitação no código, como uma chave, ponto e vírgula ou parêntese faltando. No WordPress, ele costuma surgir logo após editar o functions.php ou colar um snippet, e derruba a página exata onde o PHP não consegue interpretar o código.

O que é o parse error de sintaxe no PHP?

O parse error syntax error no WordPress é o erro que o PHP emite quando não consegue interpretar o código por causa de uma falha de sintaxe: falta uma chave, um ponto e vírgula, um parêntese ou há um caractere inesperado. Como o PHP nem chega a executar o arquivo, ele para na hora e mostra exatamente o arquivo e a linha onde travou. Quase sempre é resultado de uma edição manual recente no functions.php ou em outro arquivo PHP.

Como identificar

  • Mensagem “Parse error: syntax error, unexpected ‘…’ in /caminho/arquivo.php on line N”, citando o arquivo e a linha.
  • Variações como “unexpected end of file”, “unexpected ‘}'”, “unexpected token” ou “unexpected ‘<‘”.
  • O erro aparece imediatamente após editar o functions.php, colar um snippet ou salvar um arquivo no editor de temas.
  • O site (ou só o wp-admin) fica travado mostrando apenas a linha do erro, sem o resto da página.
Antes de começar: Faça backup do arquivo antes de editá-lo. Evite o Aparência > Editor de temas para mudanças em PHP: ele salva sem validar e um parse error ali pode derrubar o wp-admin inteiro, exigindo correção via FTP.

Como prevenir

  • Edite arquivos PHP só via FTP ou plugin de snippets (que valida), nunca pelo editor de temas do painel
  • Rode ‘php -l arquivo.php’ ou um lint no editor antes de subir qualquer alteração
  • Cole snippets de fontes confiáveis e confira se a tag <?php não está duplicada

Erros relacionados

Causa

  • Ponto e vírgula faltando no fim de uma instrução PHP
    Chave { ou parêntese ( aberto e não fechado (gera 'unexpected end of file')
    Snippet colado com a tag de abertura do PHP duplicada ou colado dentro de um bloco já aberto
    Aspas não fechadas ou aspas inteligentes (curvas) copiadas de um editor de texto em vez de aspas retas
    Edição direta no editor de temas do painel (Aparência, Editor de temas) que salvou o arquivo já quebrado

Como resolver

  1. Leia o arquivo e a linha do erro: a mensagem diz o caminho exato e a linha (ex.: functions.php on line 142). Abra esse arquivo via FTP ou no gerenciador de arquivos da hospedagem.
  2. Reverta a última edição: se o erro surgiu após colar um snippet, apague o trecho que você adicionou por último. O código que estava funcionando antes volta a rodar.
  3. Corrija a sintaxe na linha indicada: verifique na linha do erro (e na anterior) se falta ponto e vírgula, chave, parêntese ou aspas. 'unexpected end of file' quase sempre é uma chave } que faltou fechar.
  4. Valide o código antes de salvar: se tiver acesso a SSH, rode a checagem de sintaxe do PHP antes de subir o arquivo:
    php -l wp-content/themes/seu-tema/functions.php
  5. Nunca edite pelo editor do painel: edite arquivos PHP só por FTP ou por um plugin de snippets, que valida o código. O editor de temas do wp-admin salva o arquivo quebrado e pode te trancar fora do site.
PHP
// EXEMPLO de parse error — falta o ponto e virgula no fim da linha
add_filter( 'the_content', 'meu_callback' )   // <- ERRO: faltou ;

// CORRETO — instrucao fechada com ponto e virgula
add_filter( 'the_content', 'meu_callback' );

// Validacao por linha de comando (SSH), sem abrir o navegador:
// php -l wp-content/themes/seu-tema/functions.php

Perguntas frequentes

O que significa unexpected end of file no parse error?
Significa que o PHP chegou ao fim do arquivo esperando ainda fechar algo: quase sempre uma chave } ou um parêntese ) que ficou aberto. Procure de baixo para cima qual bloco não foi fechado.
Editei o functions.php e travei o site inteiro. Como volto?
Acesse o site via FTP, abra o functions.php no caminho wp-content/themes/seu-tema/ e remova o trecho que você adicionou por último. Salve e recarregue: o site volta sem o código quebrado.
Por que o erro cita uma linha onde parece estar tudo certo?
O PHP aponta onde percebeu o problema, não onde ele começou. Um ponto e vírgula ou uma chave faltando na linha anterior faz o erro aparecer só na linha seguinte. Revise sempre a linha indicada e a de cima.
Aspas curvas podem causar parse error?
Sim. Ao copiar código de um documento do Word ou de um site, as aspas retas viram aspas curvas (inteligentes), que o PHP não reconhece. Reescreva as aspas direto no editor de código para corrigir.
Como vejo o erro se a tela só fica branca?
Ative o WP_DEBUG e o WP_DEBUG_LOG no wp-config.php e abra o wp-content/debug.log. O parse error aparece lá com o arquivo e a linha exatos, mesmo quando a página não mostra nada.
Posso evitar parse error sem mexer em FTP?
Sim, usando um plugin de snippets de código: ele valida a sintaxe antes de ativar e desativa o trecho automaticamente se detectar um erro fatal, sem derrubar o site nem te trancar fora do painel.

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