Skip to content

Cannot send session cookie – headers already sent by (SOLUÇÃO)

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).

9 Comments

  1. Jack Jack

    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.

  2. André Barreto André Barreto

    Olá Jack….
    Funcionou perfeito kra… valeu …. abraços … se precisar de ajuda em algum código aí me avisa via email….

  3. Teka Teka

    Foi ótimo encontrar esse comentário aqui.. Resolveu meu problema 😉 Foi só colocar o session start() no inicio e pronto. 😉 td de bom!

  4. Vagner Wolf Vagner Wolf

    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

  5. Walter Walter

    Opa,
    No meu caso era um espaço antes do include! vlw..

    Abç..
    paz,

  6. 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

  7. 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.

  8. Brown Brown

    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…

  9. adriano adriano

    obrigado tambem salvou a minha

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.