Help
Posted By Gregory

Aviso do PHP: Não é possível modificar as informações do cabeçalho.


English version: PHP Warning: Cannot modify header information


Aviso do PHP: Não é possível modificar as informações do cabeçalho – os cabeçalhos já foram enviados…

Às vezes, você pode ver essa mensagem no log de erros do servidor ou em uma página da web. É frustrante e dá a impressão de que há algo errado com o script PHP mencionado na mensagem. Na verdade, essa mensagem indica um problema (um bug) em outro script, plugin ou tema. Você pode receber essa mensagem se estiver usando um plugin com bugs e a exibição de erros de PHP estiver ativada, o que normalmente não deveria estar.

Esta mensagem aparece quando algum trecho de código PHP em um site gera uma saída, que normalmente é uma mensagem de aviso do PHP que não deveria ser enviada e exibida no navegador do usuário. Essa saída é enviada antes do cabeçalho da página web ser gerado e enviado ao navegador do usuário. O cabeçalho de uma página web pode estar vazio ou conter informações adicionais, como cookies.

Independentemente de o cabeçalho estar vazio ou não, ele deve ser enviado antes de qualquer conteúdo da página.

Se um plugin defeituoso do WordPress gerar um aviso do PHP antes que outros plugins enviem cabeçalhos para o navegador, isso levará a um erro no servidor com a mensagem "Aviso do PHP: Não é possível modificar as informações do cabeçalho – os cabeçalhos já foram enviados…" .

Essa mensagem pode induzir qualquer pessoa ao erro, pois não informa qual script ou plugin causou o problema. Quando um servidor web detecta qualquer saída gerada por um plugin sem o envio de cabeçalho, ele cria o cabeçalho automaticamente e o envia aos navegadores. Consequentemente, todos os outros plugins que não esperam esse comportamento ficam impossibilitados de enviar seus cabeçalhos, caso necessário.

Como resolver este problema no contexto da utilização do WP Cerber Security?

  1. Desative a exibição de erros nas configurações de PHP do seu painel de controle de hospedagem. Se você não tiver acesso às configurações de PHP, peça ajuda ao seu provedor de hospedagem.
  2. Desative a exibição de erros de PHP nas configurações do WP Cerber na página de administração de segurança (Hardenening).
  3. Nas configurações principais do WP Cerber, defina "Carregar mecanismo de segurança" para "Modo padrão" ou "Modo avançado".
  4. Verifique se a constante WP_DEBUG está definida no arquivo wp-config.php. Comente a linha com barras duplas // ou simplesmente apague a linha inteira. Deverá ficar assim:
    // define( 'WP_DEBUG', true );
    // define( 'WP_DEBUG', 1 );
  5. Adicione as seguintes linhas ao início do arquivo wp-config.php:
    @ini_set( 'display_errors', 0 );
    @ini_set( 'log_errors', 1 );

O WP Cerber ou o WordPress podem ser a causa do problema?

Não. O único código que pode causar esse problema é um plugin desatualizado/com bugs ou o tema ativo. Como encontrar a causa raiz? Verifique o log de erros do servidor. E, por favor, remova os plugins desatualizados.


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.