tempo de logout automático do phpmyadmin

88

Como posso alterar o tempo de logout automático do phpmyadmin?

Ele será desconectado automaticamente após 1440 segundos, o que é muito baixo para mim. Como posso alterar a opção ou remover a solicitação de login completamente?

Abadis
fonte

Respostas:

86

Crie ou edite seu php.iniarquivo e defina este valor de variável nele:

session.gc_maxlifetime = 1440

O número inteiro está em segundos. 500.000 segundos são 5,7 dias. Em seguida, reinicie o apache.

Ravinder Singh
fonte
2
então abra seu arquivo php.ini e aumente o valor de session.gc_maxlifetime, é isso.
Ravinder Singh
10
má resposta, problemas de segurança!
Sebastian Viereck
1
Você também pode precisar atualizar $ cfg ['LoginCookieValidity'] no arquivo phpmyadmin config.inc.php.
Jorge Orpinel 28/10/2014
5
@ slaver113 Neste caso, eu diria que a segurança está bem, pois é um ambiente de desenvolvimento, isso NÃO é bom para qualquer ambiente de produção. Prefiro ver isso mencionado na resposta.
Manuel
8
Isso não tem nada a ver com o tempo limite de PHPMyAdmin. Não sei por que é tão votado. Nem mesmo está relacionado à questão.
felwithe
112

Alterar o php.ini irá alterar a duração da sessão para todos os sites em execução no servidor. Para alterá-lo apenas para PhpMyAdmin, abra config.inc.phpe adicione:

$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
Laurent
fonte
21
parece haver IU para definir variáveis ​​config.php em localhost / phpmyadmin / setup / ... - consulte Validade do cookie de login
psycho brm
Esta configuração de IU é um pouco confusa, mas funciona para definir a senha na configuração para login automático e definir o tempo de expiração da sessão. Voto positivo.
Antonio Max
1
O tempo ilimitado é meio impossível porque cada cookie tem uma data "Válido até", mas você pode simplesmente inserir um número muito alto.
Marcel Burkhard
5
Esta deve ser a resposta. A pergunta sobre como modificar o phpMyAdmin. Esta resposta resolve isso especificamente.
1
Você também precisa alterar o caminho do cookie. Porque se gc_maxlifetime for definido para outro site, o gc excluirá todos os cookies na primeira vez que for chamado para um site. Você pode adicionar essas 2 linhas no arquivo /etc/apache2/conf-available/phpmyadmin.conf: php_admin_value session.gc_maxlifetime 604800 + php_admin_value session.save_path / var / lib / phpmyadmin / tmp
fred727
96

No PHPMyAdmin 4, isso não aparece mais no arquivo config.inc.php. Em vez disso, vá para PHPMyAdmin em seu navegador. Certifique-se de estar no nível do host local para ver o link Configurações. Em seguida, defina Configurações> Recursos> Alterar o valor de 'Validade do cookie de login'> Salvar

instruções

Kohjah Breese
fonte
NB, parece haver um limite de quantos caracteres você pode inserir neste campo.
Kohjah Breese
1
A mudança da IU não funciona para mim. Ele ainda se desconecta muito rápido, não importa quão maior seja a validade do cookie de login .
dani24,
4
@ dani24, você recebeu este aviso Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.:? Clique no link para obter instruções para habilitar a capacidade de armazenar alterações permanentemente.
Parapluie,
phpMyAdmin mostrará este erro. Your PHP parameter session.gc_maxlifetime is lower than cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.Você terá que aplicar a resposta de Ravinder Singh tão bem quanto esta.
Abraham Murciano Benzadon
7
Não disponível na versão 4.8.4
Thanasis
11

Você pode alterar o recurso de sessão de tempo de cookie na interface da web do phpmyadmin

Settings->Features->General->Login cookie validity

OU

Se você deseja alterar a 'validade do cookie de login' no arquivo de configuração, abra o arquivo de configuração phpmMyAdmin, config.inc.phpno diretório raiz do PHPMyAdmin. (O diretório raiz é geralmente / etc / phpmyadmin /)

Depois de localizar o config.inc.php, procure a linha abaixo e defina-o com o valor de segundos que você deseja que o phpmyadmin atinja o tempo limite:

['LoginCookieValidity'] 

Se você não conseguiu encontrar a linha acima, basta adicionar o seguinte:

$cfg['Servers'][$i]['LoginCookieValidity'] = <your_new_timeout>;

Por exemplo:

$cfg['Servers'][$i]['LoginCookieValidity'] = 3600 * 3;

O tempo limite é definido como 3 horas no exemplo acima.

session.gc_maxlifetimepode limitar a validade da sessão e se a sessão for perdida, o cookie de login também será invalidado. Portanto, podemos precisar definir o session.gc_maxlifetime no php.iniarquivo de configuração (o local do arquivo é / etc / php5 /apache2/php.ini no ubuntu).

session.gc_maxlifetime = 3600 * 3


Documentação phpMyAdmin em LoginCookieValidity

$ cfg ['LoginCookieValidity']

Tipo: inteiro [número de segundos]
Valor padrão: 1440

Defina por quanto tempo um cookie de login é válido. Observe que a opção de configuração do php session.gc_maxlifetime pode limitar a validade da sessão e se a sessão for perdida, o cookie de login também será invalidado. Portanto, é uma boa ideia definir session.gc_maxlifetime pelo menos com o mesmo valor de $ cfg ['LoginCookieValidity'].

NOTA:

  1. Se seu servidor travou e não pode carregar sua página phpmyadmin, verifique seu log do apache em /var/log/apache2/error.log. Se você entrou PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpna linha 135, faça a chmod 644 config.inc.php. isso deve cuidar do erro.
  2. Se você receber o aviso Your PHP parameter session.gc_maxlifetime is lower that cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.:, altere o session.gc_maxlifetime conforme mencionado acima.
Para sempre
fonte
5

Somente para instalações LOCAL, você pode remover o login e o tempo limite completamente - parece que é isso que você está procurando. Ao alterar o tipo de autorização para "config" e inserir o nome de usuário e a senha do banco de dados no arquivo de configuração, você se conecta automaticamente. Adicionar a config.inc.php:

$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

É claro que, se você fizer isso em um servidor na Internet, um cara atrevido aparecerá e fará o download de todas as suas senhas e excluirá o seu site. Isso é para um servidor de desenvolvimento em execução apenas em seu próprio laptop.

Uma maneira mais fácil de personalizar o phpmyadmin atualmente é ir para http://www.example.com/phpmyadmin/setup/ , salvar todas as suas configurações de uma vez, clicar em salvar ou baixar na parte inferior, copiar o arquivo gerado para o seu diretório raiz do phpmyadmin e depois chmod. Você tem que desligar a permissão de escrita mesmo se for um servidor local, pois o phpmyadmin verifica isso antes de permitir que você faça o login.

Chris
fonte
O nome do arquivo está errado, o que não é um grande problema, pois a maioria entenderá o que você quer dizer. O nome correto, no entanto, éconfig.inc.php
David
3

Explore o diretório 'apps \ phpmyadmin4.5.2' em sua pasta wamp e abra o arquivo config.inc.php. Em seguida, adicione esta linha ao código existente.

'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.

Isso é tudo...

Koushik Chowdhury
fonte
1

Para phpMyadmin 5.0.2 em execução no Ubuntu 18.04, editei o arquivo da seguinte maneira:

  1. sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php

  2. encontre o método public static function getForms()e adicione o campo LoginCookieValidity

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
  3. salve o arquivo e agora você poderá alterar o valor na interface do usuário.

[Configurações -> Geral -> Recursos -> Validação do cookie de login]

sandip
fonte
Obrigado por isso. Eu estava olhando as respostas acima, e de volta à minha instalação 5.0.2, e pensando que estava enlouquecendo! Quer saber por que eles removeram a IU, especialmente se ela ainda está pronta para ser reativada?
Headbank
0

Server:localhost -> Settings -> Features -> General -> Login cookie validity

Pmpr
fonte
A mesma resposta já foi postada há muito tempo (e com explicação + informação sobre o tempo limite da sessão php que falta na sua resposta).
Marki555 de
Embora não tenha mencionado, sempre prefiro respostas super simples para alguns tipos de perguntas.
Pmpr
1
Sim, mas se você definir a validade do cookie de login para um valor mais alto do que a validade da sessão em php, não funcionará.
Marki555 de
Eu não sabia disso. obrigado pelo seu comentário informativo :)
Pmpr
-1

Tenho phpmyadmin 4.9.2. e tente configurar LoginCookieValidity, mas eu tenho logout automático :( Se você usa localhost, pode tentar https://docs.phpmyadmin.net/en/latest/config.html#example-for-ip-address-limited-autologin

if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
}
Denis Viunyk
fonte