A maioria das mensagens de erro do WordPress lhe dá uma idéia do que está causando problemas no seu site. O erro “Warning: Cannot modify header information – headers already sent by” que em português é exibido como “Não é possível modificar as informações do cabeçalho – cabeçalhos já enviados por.” não é exceção. Se um arquivo PHP não puder ser executado devido a um problema em seu código, você se deparará com esta mensagem.

Há várias causas potenciais para o erro “Warning: Cannot modify header information”. Felizmente, a própria mensagem irá lhe dizer qual arquivo está causando o problema. Ela até aponta para a linha de código que contém o problema.

Neste artigo, nós vamos discutir este erro e suas causas. Então, vamos analisar duas maneiras de resolver o problema. Vamos começar a trabalhar!

O que causa o erro “Warning: Cannot modify header information – headers already sent by”

Como mencionamos antes, você encontrará este erro quando um dos arquivos .php do seu site não puder ser executado. O WordPress conta com arquivos .php, como wp-config.php e functions.php, para sua funcionalidade principal.

Se houver um problema dentro de um dos arquivos .php que seu site precisa carregar, você verá uma mensagem de erro que se parece com isto:

Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-config.php:#) in /home/public_html/wp-includes/file-example.php on line 33

Felizmente, o erro “Warning: Cannot modify header information” fornece muitas informações que tornam a solução de problemas relativamente simples. A mensagem irá apontar para dois arquivos – o primeiro contém o problema, o que impede que o segundo seja executado.

No final da mensagem de erro, você verá uma seção que diz “linha XX” Ela mostra a localização do código específico que está causando o problema.

Normalmente, o problema no código PHP é muito fácil de ser corrigido. Algumas causas comuns que podem acionar a mensagem de erro incluem:

  • Espaços em branco antes do segmento do código <?php  ou após o fechamento da tag ?>
  • Um bloco HTML antes da função de cabeçalho PHP
  • Comandos print ou echo adicionados antes da função de cabeçalho PHP
  • Problemas com o código de um plugin

A correção desses tipos de erros requer que você esteja pelo menos passageira e confortável com a modificação do código PHP. Você não precisará adicionar nenhum código você mesmo.

Mesmo assim, você pode precisar de um pouco de ajuda extra para identificar o problema. Isto é particularmente verdadeiro se o problema não estiver relacionado a espaços em branco ou declarações antes da função de cabeçalho do PHP.

Como corrigir o erro “Warning: Cannot modify header information – headers already sent by” (2 métodos)

Há duas abordagens para solucionar o erro “Warning: Cannot modify header information – headers already sent by”. O primeiro método não requer que você saia do painel de controle do WordPress.

Entretanto, a segunda estratégia usa FTP/SFTP se você não puder acessar o painel de controle ou usar o WordPress.

Vamos começar com o primeiro método de solução de problemas.

1. Corrigindo o erro com o editor do plugin/tema ou substituindo um plugin

A primeira coisa que você precisa fazer quando encontrar o erro “Warning: Cannot modify header information – headers already sent by” é abrir o arquivo que está causando o problema. Então, localize a linha que a mensagem indica.

Por exemplo, se você vir um erro que diz o seguinte, significa que você precisa olhar dentro do arquivo functions.php do seu tema :

Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-content/themes/twentytwentyone/functions.php:#) in /home/public_html/wp-includes/file-example.php on line 1

Neste cenário, você pode alcançar a fonte do problema usando o editor de temas do WordPress. Para acessá-lo, vá para Appearance > Theme Editor.

Uma vez dentro, use o menu à direita para selecionar o arquivo que você precisa acessar.

Arquivo de funções temáticas (functions.php)
Arquivo de funções do tema (functions.php)

Se você olhar com atenção, você notará vários espaços em branco antes da tag <?php. A própria mensagem de erro aponta para a linha número um. Portanto, isto diz a você que os espaços em branco são a fonte do problema.

Neste exemplo, tudo que você tem que fazer é remover os espaços em branco e clicar em Update File. Agora tente recarregar o seu site, e o erro deve ter desaparecido.

Você pode aplicar o mesmo processo usando o editor de plugins do WordPress (Plugins > Plugin Editor). Este método é aplicável se a mensagem de erro apontar para um arquivo de plugin defeituoso.

Alternativamente, você pode encontrar um erro que indica um dos arquivos dentro do seu diretório de plugins do WordPress. Neste cenário, você pode remover e reinstalar este plugin. Na maioria dos casos, isso cuidará do problema para você.

Entretanto, tenha em mente que você pode perder a configuração desse plugin, dependendo da ferramenta que você usar. Como tal, você pode precisar configurar o add-on novamente.

2. Editndo o arquivo problemático via FTP/SFTP

Em alguns casos, a fonte do erro “Cannot modify header information – headers already sent by” não estará em um arquivo que você pode acessar usando o tema do WordPress ou editores de plugins. Alternativamente, você pode estar usando um site que não seja WordPress.

Nestes cenários, sua melhor opção é acessar o arquivo problemático usando FTP/SFTP. Para fazer isso, você precisará usar um cliente FTP ou SFTP, como a plataforma FileZilla.

Você também precisará ter acesso às credenciais FTP/SFTP do seu site. Na maioria dos casos, você deve ser capaz de encontrá-las dentro do seu painel de hospedagem.

Se você usa Kinsta, você pode acessar o MyKinsta, selecionar seu site em Sites e clicar em sua aba Info.

Detalhes do SFTP no MyKinsta.
Detalhes do SFTP no MyKinsta.

Uma vez que você tenha as credenciais, use seu cliente FTP ou SFTP para se conectar ao seu site. Você precisará localizar a pasta raiz do site. Normalmente, seu nome deve ser root, public_html, public, ou o nome do seu próprio site.

Aqui está uma rápida olhada em como é o interior de uma pasta raiz do WordPress.

Pasta raiz do WordPress
Pasta raiz do WordPress.

Vá em frente e localize o arquivo que o erro “Cannot modify header information – headers already sent by” indica. Por exemplo, se a questão for public/wp-config.php Clique com o botão direito do mouse no arquivo e selecione a opção View/Edit .

Clique no arquivo wp.config.
Clique no arquivo wp.config.

Essa opção abrirá o arquivo selecionado usando seu editor de texto padrão. Uma vez que o documento esteja aberto, localize o problema navegando para a linha para a qual a mensagem de erro apontou para você.

Procure a linha com a mensagem de erro
Procure a linha com a mensagem de erro

Se você não conseguir detectar o erro, você pode precisar consultar alguém que tenha experiência em trabalhar com arquivos PHP. Entretanto, suponha que você esteja lidando com um problema de espaço em branco ou uma declaração antes do cabeçalho do PHP. Nesse caso, você mesmo deve ser capaz de corrigir o problema.

Uma vez terminado, salve as alterações no arquivo e feche o cliente FTP/SFTP. Tente acessar novamente o seu site, e o erro deve ter desaparecido.

Resumo

O erro “Warning: Cannot modify header information – headers already sent by” pode ser intimidante porque emite uma mensagem longa. Entretanto, essa mensagem de erro detalhada torna esse erro relativamente simples de solucionar. Ao contrário de outros problemas, este é educado o suficiente para lhe dizer qual arquivo está causando o erro e qual linha de código você precisa verificar.

Dependendo do arquivo que está causando o erro, há duas maneiras de você resolver o problema:

  1. Corrigindo o erro usando o editor de plugin/tema ou substituindo um plugin.
  2. Editndo o arquivo problemático via FTP/SFTP.

Encontrar a origem deste erro é simples. Entretanto, corrigir pode ser um problema se você não estiver familiarizado com o PHP.

Ainda tendo problemas para corrigir este erro? Por favor, compartilhe sua experiência com nossa comunidade nos comentários abaixo!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.