Então você, assim como eu, tentou fazer um redirecionamento ($this->redirect) ou tentou gravar alguns dados de sessão ($this->Session->write) no CakePHP e deu de cara com a mensagem
Warning (2): Cannot modify header information – headers already sent by…
Por incrível que pareça, a solução é mesmo aquela que encontramos nos resultados de pesquisa, onde a maioria fala, mas não explica direito:
Caracteres inválidos no início ou no fim de alguma página… eu explico (direito) como funciona:
Para você resolver esse problema é fácil: Na mensagem de erro é exibido um caminho para algum arquivo de sua aplicação, e é esse arquivo que precisa ser verificado, nenhum mais. Veja o meu caso (criei o erro propositalmente):
Warning (2): Cannot modify header information – headers already sent by (output started at /home/clcjuris/public_html/leis/app/controllers/users_controller.php:1) [CORE/cake/libs/controller/controller.php, line 636]
Essa parte em destaque é o caminho arquivo que está dando pau, e aquele número no fim é a linha do código que está bugada. Neste caso, a linha 1.
O erro? um espaço em branco coloquei no arquivo, antes do <?php . Sério. :)
em alguns casos aparecem “do nada” alguns caracteres estranhos, ou um ponto, ou um espaço-em-branco no ínicio ou no fim do código, sempre imediatamente antes ou depois das tags de abertura ou fechamento do php (<?php / ?>) Outra coisa que também “dá pau” é a tag abreviada (<?).
Então é isso. Deu pau? abra o arquivo apontado pela mensagem de erro, procure e elimine qualquer caracter ou espaço-em-branco antes da apertura ou depois do fechamento de seu código, e seja feliz. :D
Até a próxima!