quinta-feira, setembro 01, 2011

PHP: Cannot modify header information...

Você está querendo fazer um redirecionamento (usando a função header diretamente ou indiretamente por um framework) em PHP, e toma isso:

Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at.........


Que mensagenzinha chata.
Se vocês já fuçou e viu que não é nada óbvio - esta mensagem diz que você quer está querendo modificar o cabeçalho da página depois de ter enviado alguma coisa, então verifique se explicitamente você não enviou nada - eis as possíveis causas.
  1. veja se antes do '[?php' não tem um espaço ou linha em branco;
  2. se seu arquivo php terminar com '?]' (recomenda-se não finalizar o script), seja se depois dele não tem espaço ou uma linha a mais;
  3. veja se a codificação dos arquivos agregados (classes, subclasses, views etc) é a mesma (ANSI, UTF-8).
Todas essas coisas aconteceram já comigo e hoje vi um caso parecido e resolvi postar. Espero que ajude...