Como corrigir o Erro Warning: Cannot Modify Header Information – Headers Already Sent By
É engraçado como um pequeno erro pode deixar seu site WordPress completamente disfuncional. E nós estamos, é claro, falando sobre o infame Warning: Cannot modify header information – headers already sent by pluggable.php erro do WordPress, que em português é exibido como Não é possível modificar as informações do cabeçalho – cabeçalhos já enviados por.
Se você por um acaso se deparou com este erro e talvez não saiba como proceder, você veio a página certa! Neste tutorial WordPress, nós veremos o que pode levar este erro acontecer, e em seguida veremos as possíveis soluções para resolver o problema de uma vez por todas.
Conteúdo
O que você vai precisar
Antes de prosseguir com este tutorial, você vai precisar do seguinte:
- Acesso ao seu Painel de Controle ou FTP
Por que aparece o erro cannot modify header information – headers already sent by
Observe esse exemplo do erro para que possamos entendê-lo melhor. O erro geralmente aparece da seguinte forma:
Warning: Cannot modify header information - headers already sent by (output started at /public_html/wp-content/plugins/my-plugin/my-function.php:#) in /public_html/wp-includes/pluggable.php on line #
Como pode observar acima, duas pastas foram mencionadas no erro. O primeiro é o arquivo (em nosso caso o arquivo My-function.php localizado em /public_html//wp-content/plugins/my-plugin/) é o principal culpado pelo erro. Este é o código personalizado utilizado para substituir a funcionalidade fornecida pelo WordPress. A principal funcionalidade em questão é o arquivo pluggable.php (um arquivo principal do WordPress que é a mesma para qualquer instalação WordPress). Basicamente, há um problema no primeiro arquivo, o que impede o segundo arquivo funcionar propriamente.
A causa mais comum deste erro são espaços em branco presente no primeiro arquivo. Estes podem acabar deixando espaços em branco no topo ou no final do arquivo, espaços desnecessários em qualquer lugar ou até mesmo entre tags PHP <?e php ?>. Na verdade, como os programadores podem (e geralmente acontece) digitar espaços em branco por engano ao escrever códigos, esse é um erro muito comum do que você imagina. A linha # indicada na mensagem de erro, corresponde ao local onde o problema é especificamente iniciado, isso ajudará você solucionar o problema sem dificuldades.
Corrigindo o Erro Cannot modify header information – headers already sent by error
Agora que você sabe distinguir o que causou o erro, você pode passar para etapa de corrigir este erro de uma vez! Vamos apresentar dois métodos de como eliminar esse problema, na qual você pode fazer separadamente ou em sequência, caso o primeiro método não funcione.
Opção 1 – Editando arquivos corrompidos
Na primeira opção quando tentando resolver o problema Warning: cannot modify header information é editar manualmente o arquivo corrompido. Você já possui as informações necessárias para localizar o problema na mensagem de erro (lembre-se, é o primeiro arquivo da mensagem). Tudo que você precisa é abrir o arquivo, seja através do Cliente FileZilla ou do Gerenciador de Arquivos.
Essencialmente, tudo que você precisa fazer aqui é remover os espaçamentos extras presentes no arquivo. Um bom lugar para começar seria a linha # mencionada na mensagem de erro. A partir daí, você pode seguir com a análise para o resto do arquivo, procurando espaços em branco desnecessários até o final do documento.
Tenha uma atenção especial com as tags PHP iniciais e finais. Não pode ter espaços antes ou depois da tag <?php assim como ?>. Além disso, a última linha do código não pode conter espaço em branco ou extra.
Na imagem abaixo você pode ver um arquivo wp-config.php o qual possui espaços em branco antes de abrir a tag php.
DICA PRO: Em muitos editores de texto, você pode remover os espaços em branco automaticamente. Por exemplo, para remover um espaço em branco no Atom, selecione todo o código e navegue para Packages → Whitespace → Remove Trailing Whitespace.
Opção 2 – Substituir Arquivos Corrompidos
É claro que editar vários arquivos corrompidos pode um processo um pouco difícil. Podendo os arquivos pertencer a um plugin ou tema recentemente implantado em seu site ou até mesmo o arquivo principal do WordPress.
Se o erro for realmente causado por um plugin ou tema, tudo que precisa fazer é reinstalar. Fazer isso corrige o erro na maioria das vezes. Mas por outro lado, se o problema se encontrar no arquivo principal do WordPress, sua melhor escolha é conseguir outra cópia limpa do WordPress e substituir o arquivo corrompido em sua instalação por esta nova versão. Isso assegura que o arquivo corrompido pode ser restaurado ao seu estado original enquanto mantém o resto de sua instalação do WordPress intacta. Agora, simplesmente reinicie e certifique-se se o erro foi solucionado.
Conclusão
Quando você copia um trecho de um código ao seu arquivo, inserindo a um plugin/ tema ou digitando um código manualmente, você leva o risco de adicionar espaços extras em brancos em seu arquivo. Estes espaços aparentam ser inocentes mas eles voltam pra você na forma do erro Warning: cannot modify header information – headers already sent by WordPress.
Neste tutorial, nós vimos como corrigir este erro, para que seu site volte a funcionar normalmente. Para mais tutoriais e conteúdo relacionados, visite nossa seção de Tutoriais WordPress.