Boa noite gente, este pode ser um dos artigos mais simples que você possa conhecer, mas vai uma dica para que está sofrendo com o session_start(); (PHP), esta dica vai para quem está USANDO o session_start() e não sabe o por que de não estar funcionando o código. Lá vai a solução que REALMENTE FUNCIONA:
erro->
Cannot send session cookie – headers already sent by
Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by
Essa mensagem significa que a função session_start() não pode enviar o cookie da sessão porque os cabeçalhos (HTTP headers) já foram enviados.
Normalmente o interpretador envia a saída assim que o comando é processado, por isso você não pode ter um echo, print ou qualquer outra coisa que produza uma saída antes da função session_start() (ou outras funções que precisão modificar os headers).
Você pode usar session_start() antes de qualquer saída ou usar session_start em qualquer lugar com output buffering.
Pode obter mais informações visitando os detalhes da função session_start()
+{+++++}+
VERIFIQUE SE O SEU EDITOR PHP ESTÁ GERANDO CARACTERES ESTRANHOS ANTES DO CÓDIGO, POR EXEMPLO:
<?php
session_start();
…
AS VEZES INICIAMOS NOSSO CÓDIGO ASSIM E A MENSAGEM DE ERRO ACONTECE
Cannot send session cookie – headers already sent by
VERIFIQUE SE O SEU EDITOR PHP ANTECIPOU OS CARACTERES, COMIGO JÁ ACONTECEU DELE COLOCAR ALGO DO TIPO “r%e#$@” ANTES DA TAG DE INICIAÇÃO DO CÓDIGO PHP (<?php…), PARA VER ISTO USE DIVERSOS EDITORES (o vi do unix não consegue visualizar e nem o dreamweaver).
Nome meu caso acontecia pq eu uso uma pagina index que monta o site com includes. Então eu só tinha que colocar session_start() nesta página e tirar de todas as outras.
Olá Jack….
Funcionou perfeito kra… valeu …. abraços … se precisar de ajuda em algum código aí me avisa via email….
Foi ótimo encontrar esse comentário aqui.. Resolveu meu problema 😉 Foi só colocar o session start() no inicio e pronto. 😉 td de bom!
Obrigado, No meu caso utilizo dreamweaver e o erro aconteceu simplesmente por ter deixado a linha 1 em branco e iniciado o código a partir da linha 2.
resultou em duas menssagens de erro:
a primeira relatada e
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent
Resolvido – Feliz 2009 para todos nós
Opa,
No meu caso era um espaço antes do include! vlw..
Abç..
paz,
Caaaara! Vc salvou meu dia =DÉ bom reforçar que o SESSION_START tem que vir antes de tuuuuudo msm na primeira linha da página.
Mto bom post. Simples e direto! Parabéns.
Valeeeeeeeuu
Valeu, Paula Fernanda, sem tirar o merito do artigo, seu comentario foi na mosca.
“SESSION_START tem que vir antes de tuuuuudo msm na primeira linha da página”
até mais.
Cara. Simplesmente demais!! Como os colegas já disseram, Simples e direto…
Vlw…. Salvou meu dia tb… Já estava pensando que iria endoidar…. Coloquei antes de um require que tinha …. Pronto…
obrigado tambem salvou a minha