phpmyadmin自动注销时间


88

如何更改phpmyadmin自动注销时间?

它会在1440秒后自动注销,这对我来说非常低。如何更改选项或完全删除登录请求?

Answers:


86

创建或编辑php.ini文件并在其中设置此变量值:

session.gc_maxlifetime = 1440

整数以秒为单位。500000秒是5.7天。然后重新启动apache。


2
因此,打开您的php.ini文件并增加session.gc_maxlifetime的值即可。
拉文德·辛格

10
错误的答案,安全问题!
塞巴斯蒂安·维雷克

1
您可能还需要更新phpmyadmin config.inc.php文件中的$ cfg ['LoginCookieValidity']。
豪尔赫·奥尔皮内尔2014年

5
@ slaver113在这种情况下,我想说安全性很好,因为它是一个开发环境,对于任何生产环境都不是很好。我希望看到答案中提到的内容。
曼努埃尔

8
这与PHPMyAdmin的超时无关。我不知道为什么投票如此高。这甚至与问题无关。
felwithe 16/09/11

112

更改php.ini将更改服务器上运行的所有网站的会话持续时间。要仅针对PhpMyAdmin进行更改,请打开config.inc.php并添加:

$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;

21
localhost / phpmyadmin / setup /…处似乎有用于设置config.php变量的UI-请参阅登录Cookie的有效性
psycho brm 2013年

此UI设置有点令人困惑,但可用于在config中设置密码以自动登录并设置会话到期时间。赞成。
Antonio Max

1
无限的时间是不可能的,因为每个cookie都有一个“有效期至”日期,但是您只能输入一个很大的数字。
Marcel Burkhard 2014年

5
这应该是答案。问题问如何修改phpMyAdmin。这个答案专门解决了。

1
您还需要更改Cookie路径。因为如果为其他网站定义了gc_maxlifetime,则gc会在首次调用该网站时删除所有cookie。您可以在/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

在PHPMyAdmin 4中,它不再出现在config.inc.php文件中。而是在浏览器中转到PHPMyAdmin。确保您位于localhost级别,以查看“设置”链接。然后设置设置>功能>更改“登录cookie有效性”的值>保存

指示


注意:在此字段中可以输入的字符数似乎受到限制。
Kohjah Breese 2014年

1
UI更改对我不起作用。无论Login Cookie的有效性有多大,它仍然注销得太快。
dani24年

4
@ dani24,您是否收到此通知:Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.?单击此链接,它将为您提供有关启用永久存储更改功能的说明。
Parapluie

phpMyAdmin将显示此错误。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.您将必须应用Ravinder Singh的答案以及此答案。
亚伯拉罕·穆尔西亚诺·本扎登

7
在版本4.8.4中不可用
Thanasis,

11

您可以在phpmyadmin网络界面上更改Cookie时间会话功能

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

要么

如果要更改配置文件中的“登录cookie有效性”,请config.inc.php在PHPMyAdmin的根目录中打开phpmMyAdmin配置文件。(根目录通常为/ etc / phpmyadmin /)

找到config.inc.php后,搜索以下行并将其设置为您希望phpmyadmin超时的秒数:

['LoginCookieValidity'] 

如果找不到上述行,只需添加以下内容:

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

例如:

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

从以上示例中,超时设置为3小时。

session.gc_maxlifetime可能会限制会话的有效性,如果会话丢失,登录cookie也将无效。因此,我们可能需要在php.ini配置文件中设置session.gc_maxlifetime (文件位置在ubuntu中为/ etc / php5 /apache2/php.ini)。

session.gc_maxlifetime = 3600 * 3


LoginCookieValidity上的phpMyAdmin文档

$ cfg ['LoginCookieValidity']

类型: 整数[秒数]
默认值: 1440

定义登录cookie有效的时间。请注意,php配置选项session.gc_maxlifetime可能会限制会话的有效性,如果会话丢失,登录cookie也将无效。因此,最好将session.gc_maxlifetime至少设置为与$ cfg ['LoginCookieValidity']相同的值。

注意:

  1. 如果服务器崩溃并且无法加载phpmyadmin页面,请在/var/log/apache2/error.log中检查您的Apache日志。如果您上了PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.php135行,请执行chmod 644 config.inc.php。应该注意的错误。
  2. 如果收到警告: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.session.gc_maxlifetime 则按上述方法更改。

5

仅对于本地安装,您可以完全删除登录名和超时-这似乎是您要执行的操作。通过在你的配置文件更改授权类型为“配置”,然后输入你的数据库的用户名和密码,您在自动登录加入。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;

当然,如果您在Internet上的服务器上执行此操作,则会出现一些厚颜无耻的表情,并乐意下载所有密码并删除您的网站。这仅适用于在自己的笔记本电脑上运行的开发服务器。

目前,自定义phpmyadmin的一种更简便的方法是转到http://www.example.com/phpmyadmin/setup/,一次保存所有设置部分,单击底部的保存或下载,将生成的文件复制到您的根phpmyadmin目录,然后chmod。您必须关闭写许可权,即使它是本地服务器也是如此,因为phpmyadmin在允许您登录之前对其进行了检查。


文件名错误,不是一个大问题,因为大多数人都会理解您的意思。不过正确的名字是config.inc.php
David

3

在您的wamp文件夹中浏览目录“ apps \ phpmyadmin4.5.2”,然后打开config.inc.php文件。然后在现有代码下添加此行。

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

就这样...


1

对于在Ubuntu 18.04上运行的phpMyadmin 5.0.2,我对文件进行了如下编辑:

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

  2. 找到方法public static function getForms()并添加LoginCookieValidity字段

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
  3. 保存文件,现在您将能够从用户界面更改值。

[设置->常规->功能->登录Cookie的有效性]


谢谢你 我看着上面的答案,回到5.0.2的安装中,以为我迷失了方向!想知道为什么他们删除了UI,特别是如果它仍然可以重新启用时呢?
总行

0

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


早在很久以前就已经发布了相同的答案(并附有解释+有关您的答案缺少的php会话超时的信息)。
Marki555 '16

尽管我没有提到,但对于某些类型的问题,我总是更喜欢超级简单的答案。
Pmpr '16

1
是的,但是如果您将登录cookie有效性设置为比php中的会话有效性更高的值,它将无法正常工作。
Marki555 '16

我不知道 感谢您的翔实评论:)
Pmpr '16

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.