• 0
Sign in to follow this  
João Vitor Tornisiello Trevisan

PHP Warning:  session_start()

Question

Eu estou com o famoso problema "PHP Warning:  session_start()"

Mensagem completado do erro:

[05-Apr-2018 19:25:33 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/inc/database/database.php on line 4

Isso está impedindo que eu redirecione a página. Alias, nenhuma página da aplicação está redirecionando.

Já tentei usar ob_start(); ob_end_flush(); | Já tentei usar if (session_status() == PHP_SESSION_NONE) session_start();

Já revi fechando de <php ?> ou espaçamentos, ou echo, prints ets.

E isso só ocorre no servidor. Localhost não acontece. Alguma ideia? Obrigado

------------------ Basicamente meu código é

save(ENTITIES, $unidade_medida); //Acessa o database.php

header('location: index.php'. ($_SESSION['message'] != "" ? "?error_msg=".$_SESSION['message'] : "")); //não funciona

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Bom dia!

Sei que disse ter tirado os espaços, mas eu tive esse mesmo problema e era ainda um espaço criado por um caractere invisível, e a solução que me foi dada era abrir meu arquivo PHP no Notepad++, ir no menu Formatar e clicar na opção Converter para UTF8(sem BOM).

Salvei, subi o arquivo novamente no servidor e funcionou! 

Share this post


Link to post
Share on other sites
  • 0

Não sei se entendi bem sua pergunta, mas me refiro ao arquivo PHP que aparece na descrição do erro

started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/inc/database/database.php on line 4

Ou Config.php linha 1 ou database.php linha 4

Mas se em ambos os casos você fez o procedimento que eu falei, não sei o que pode ser, pois comigo deu erro na linha 1 e era isso.

Share this post


Link to post
Share on other sites
  • 0

Então, eu não entendo muito de php. Eu vou ver o que você falou. Mas talvez seja na maneira como eu organizei o projeto.

Eu tenho a seguinte hierarquia: (em lugares li que poderia ser problema de sessao)

 

index.php inclui meu template.php, 

template.php inclui permissoes.php (que usa sessao e abre ela [session_start]) 

template.php requer menu.php (que usa sessao, mas não abre ela)

template.php usa os dados de permissoes e de menu (usa sessao mas n abre ela)

 

index.php chama functions.php, que chama o database.php

database.php (usa sessao, e abre sessao lá)

 

o que acha?

Share this post


Link to post
Share on other sites
  • 0
Em 05/04/2018 at 16:47, João Vitor Tornisiello Trevisan disse:

Eu estou com o famoso problema "PHP Warning:  session_start()"

Mensagem completado do erro:

[05-Apr-2018 19:25:33 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/inc/database/database.php on line 4

Isso está impedindo que eu redirecione a página. Alias, nenhuma página da aplicação está redirecionando.

Já tentei usar ob_start(); ob_end_flush(); | Já tentei usar if (session_status() == PHP_SESSION_NONE) session_start();

Já revi fechando de <php ?> ou espaçamentos, ou echo, prints ets.

E isso só ocorre no servidor. Localhost não acontece. Alguma ideia? Obrigado

------------------ Basicamente meu código é

save(ENTITIES, $unidade_medida); //Acessa o database.php

header('location: index.php'. ($_SESSION['message'] != "" ? "?error_msg=".$_SESSION['message'] : "")); //não funciona

Caro João Vitor

insira essa linha no início do seu código:

<?php
    if(!isset($_SESSION)){ 
        session_start(); 
    } 
?>

Share this post


Link to post
Share on other sites
  • 0

olá, coloquei isso nos 3 lugares que inicio sessão.

ele ainda está com o problema ao redirecionar

segue o error log :

[10-Apr-2018 17:20:13 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/inc/database/database.php on line 4
[10-Apr-2018 17:20:15 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/inc/database/database.php on line 4
[10-Apr-2018 17:20:18 UTC] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/inc/database/database.php on line 4
[10-Apr-2018 17:20:18 UTC] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/insideau/app.insideautomacao.com.br/config.php:1) in /home/insideau/app.insideautomacao.com.br/src/cadastro/unidades-de-medida/functions.php on line 35
 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this