Desculpe, mas hoje a postagem é especificamente para os desenvolvedores...
--
Desenvolvendo um sistema de login simples em PHP nos deparamos com o seguinte erro:
"Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent"
Um erro chato, e na maioria das vezes fácil de resolver... Por aí existem muitas dicas, do tipo, coloque o @ antes da linha do erro, coloque o código de validação tudo na mesma página, digite em um bloco de notas... Enfim, todas dicas válidas, (menos a do @ isso piora as coisas hehe) porém existe uma forma super simples de arrumar isso!
É importante sempre atentar ao erro, ler o que o PHP está dizendo e tratar de forma correta. Nesse caso, veja só ele diz: Cannot send session cache limiter - headers already sent
Em outras palavras, não consigo setar um valor para a session, a mesma já foi setada! Como assim, você se pergunta?
Simples! Ele está falando que existe algo antes da declaração da session, antes da abertura da session, antes do sessin_start() e pra quem já programa com php, sabe que para criar o session_start() nada pode vir antes...O cabeçalho não pode estar setado...
Mas então você olha seu código e adivinha? Não tem nada antes... Lembrando que o "<?php" não vale, ok?
Então o que está antes?
Agora começa a solução do problema... Está usando o Dreamweaver? Pois bem, é ele... Calma, calma... Não precisa excluir ele e caçar outro, basta apenas fazer o seguinte. Na hora de salvar seu script de validação, clique em salvar como e desligue o BOM lá em baixo... Desligue a assinatura Unicode e faça isso também no arquivo que está chamando a sua validação... E pronto! O erro está concertado... Enfim, pelo menos aqui sempre funcionou...
Acontece que esse BOM insere um 2 a 4 bytes lá no começo do arquivo, e como dito, não pode ter nada antes da declaração da session...
Bom, como dito essa é apenas uma solução, veja aí se com vocês funciona, aqui sempre deu certo... "/
E claro, citamos o Dreamweaver pois nunca vimos isso acontecer com outro software...
Abraços.
Nenhum comentário:
Postar um comentário
Faça parte, ajude, dê sua opinião. Vamos formar uma rede!