Autor Tópico: Tempo de Sessao.  (Lida 7486 vezes)

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 374
Tempo de Sessao.
« Online: Abril 19, 2012, 11:38:49 am »
Ola Pessoal,

Alguem ja viu esta esta mensagem?

Não foi possivel conectar com o banco de dados: O tempo de sessão do php expirou ou os parametros de conexão estão incorretos.

Alguem tem alguma dica de como controlar ou aumentar o tempo ?

Obrigado.
Paulo.


Kleyber

  • Expert
  • *****
  • Mensagens: 2239
    • Email
Re:Tempo de Sessao.
« Responder #1 Online: Abril 19, 2012, 11:43:46 am »
Paulo bom dia,

No site da Associação (www.auscriptcase.com.br) você vai ver um exemplo prático disto. Veja se te atende.
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 374
Re:Tempo de Sessao.
« Responder #2 Online: Abril 19, 2012, 11:56:41 am »
Obrigado Kleyber,

Vou dar uma olhada.
Lembrando que a mensagem acima ocorre quando usuario deixa sistema
sem utilizar por algum tempo.

Obrigado.
Paulo.

Kleyber

  • Expert
  • *****
  • Mensagens: 2239
    • Email
Re:Tempo de Sessao.
« Responder #3 Online: Abril 19, 2012, 02:15:42 pm »
Exato. No exemplo que te passei isso fica parametrizável. Você pode escolher QUEM pode ter mais tempo ou não. Qualquer dúvida maior, o Jovito, que é o pai da criança te dá maiores detalhes.

Abraços,
Kleyber Derick

ITIL® V3 Foundation Certified
Analista de Sistemas
São Luís - Maranhão
www.tkinformidia.net

jovitomelo

  • Global Moderator
  • Expert
  • *****
  • Mensagens: 916
    • Simples Assim
    • Email
Re:Tempo de Sessao.
« Responder #4 Online: Abril 19, 2012, 07:52:53 pm »
Paulo,

No arquivo php.ini existe uma linha +- assim:

session.cache_expire=60

Onde 60 é tempo em minutos da sessão...
Após alterá-la re-inicie o Apache.

Você poderá alterar o tempo de sessão do PHP, via SC, utilizando o comando session_cache_expire(30) (trinta minutos). Veja o exemplo abaixo:

<?php

/* Define o limitador de cache para 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* Define o limite de tempo do cache em 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* Inicia a sessão */
session_start();
echo "O limitador de cache esta definido agora como $cache_limiter<br />";
echo "As sessões em cache irão expirar em $cache_expire minutos";
?>



No exemplo acima não há necessidade de re-iniciar o PHP uma vez que session_start() inicializará a sessão.

T+
Jovito Melo
Maceió - Alagoas

pauloper

  • Global Moderator
  • Avançado
  • *****
  • Mensagens: 374
Re:Tempo de Sessao - Resolvido.
« Responder #5 Online: Abril 20, 2012, 10:02:05 am »
Valeu Pessoal as dicas foram otimas.


weber

  • Expert
  • *****
  • Mensagens: 516
    • Email
Re:Tempo de Sessao.
« Responder #6 Online: Agosto 17, 2012, 12:10:41 pm »
Paulo,

No arquivo php.ini existe uma linha +- assim:

session.cache_expire=60

Onde 60 é tempo em minutos da sessão...
Após alterá-la re-inicie o Apache.

Você poderá alterar o tempo de sessão do PHP, via SC, utilizando o comando session_cache_expire(30) (trinta minutos). Veja o exemplo abaixo:

<?php

/* Define o limitador de cache para 'private' */
session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* Define o limite de tempo do cache em 30 minutos */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* Inicia a sessão */
session_start();
echo "O limitador de cache esta definido agora como $cache_limiter<br />";
echo "As sessões em cache irão expirar em $cache_expire minutos";
?>



No exemplo acima não há necessidade de re-iniciar o PHP uma vez que session_start() inicializará a sessão.

T+

jovito, to com um propblema parecido mas fiquei em duvida eu posso definir o tempo da sessão para todas as variaveis registradas pelo SC, tipo utilizaria esse seu codigo no login do sistema, e depois ao utilizar novas sessions registradas pelo sc_set_global, pegariam o mesmo timeout ?

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Tempo de Sessao.
« Responder #7 Online: Agosto 17, 2012, 01:10:22 pm »
O escopo desse comando é por sessão e não por variável, a sessão que também não deixa de ser uma variável armazena todas as outras variáveis criadas dentro do sistema no momento em que o usuário faz o acesso, conforme o sistema for pedindo mais memória pra armazenar a sessão mais coisas vão entrando neste arquivo que é criado dentro do SO.

Assim quando você define que a sessão terá 60 minutos, todas as variáveis ficarão disponíveis por este tempo, depois todas morrem, lembrando que a cada interação do usuário com o sistema esse tempo é recarregado, ele funciona como um relógio com contagem regressiva que recarrega a cada requisição do browser no sistema.

Lembrando que principalmente em um ambiente compartilhado (servidor) sessões com tempo muito longo podem comprometer o desempenho do servidor, isso vai depender muito da quantidade de variáveis de sessão que seu sistema utiliza e quantos usuários simultâneos ele tem.
« Última modificação: Agosto 17, 2012, 01:29:42 pm por saulobborges »

weber

  • Expert
  • *****
  • Mensagens: 516
    • Email
Re:Tempo de Sessao.
« Responder #8 Online: Agosto 30, 2012, 11:34:04 pm »
vou tentar explicar todos os detalhes

-estrutura inicial
atualmente tenho um index.php q possui apenasu m iframe, 100 x 100 para que dentro dele rode as app do SC na verdade unica e exclusivamente para "esconder" os endereços. das apps, etc...

-problema
nas app do sc eu utilizo a segurança de modo que ao fazer o login conforme cada nive de acesso do usuario eu libero ou nao as app relacionadas ao usuario, ok funciona as mil maravilhas se o usuario esta emcima da aplicação trabalhando, porem se ele para par air tomar um cafezinho, quando volta e tenta acesar qualquer coisa da "usuario nao autorizado" nao tenho como definir a sessao no servidor nao tenho acesso

tentativa
entao resolvi aplicar a metodologia indicada pelo jovito fiz o seguinte porem utilizei um intervalo de 150 minutos que +/- da um periodo de trabalho.

Código: [Selecionar]
session_cache_limiter('private');
session_cache_expire(150);
session_start();
header("Location: index.php");

não funcionou ao inves de dar a mensagem "usuario nao autorizado" ao clicar num dos itens do menu simplesmente ficou "carregando" e nao parou mais.

Alguem tem alguma ideia

weber

  • Expert
  • *****
  • Mensagens: 516
    • Email
Re:Tempo de Sessao.
« Responder #9 Online: Setembro 04, 2012, 08:30:43 pm »
ninguem ?