1440秒后phpmyadmin注销


134

在本地开发Ubuntu框中,我使用MySQL和phpmyadmin来处理数据库。

每当phpmyadmin闲置1440秒(24分钟)时,会话就会过期。我失去了位置,必须登录并重新开始。

我尝试更改$cfg['LoginCookieValidity'] = 3600 * 9;内部,config.inc.php但仍然在1440秒后超时。

我已重新启动所有内容并清除了浏览器缓存(Firefox历史记录->清除最近历史记录->缓存->所有内容)。

我不确定为什么增加的超时没有生效。我究竟做错了什么?


5
我想到的第一件事是,在更改config.inc.php之后是否重新启动了Web服务器?
0xmtn

是的,我已经运行了以下命令:sudo service mysql restart
sandeep

2
如果您已解决此问题,可以在此处发布解决方案作为答案吗?;)
0xmtn

对于Ubuntu 18.04,我刚刚编辑了文件/usr/share/phpmyadmin/libraries/config.default.php更改:$ cfg ['LoginCookieValidity'] = 1440
Ahmed Ismail

Answers:


198

在浏览器中转到PHPMyAdmin

设置>功能>更改登录cookie有效性的值>保存在此处输入图片说明

注意:您必须在每个会话中执行此操作。


5
这是解决此问题的最快,最简单的方法。它应该是答案!
皮尼·切尼

14
这不是永久性的解决方案。我尝试这样做,但是在一两天后,它再次重置为1440秒。
Rolen Koh

5
这仅适用于当前会话。甚至在设置中也是如此。
理查德·杜尔16/09/26

4
不要忘记更新php.ini设置session.gc_maxlifetime = SAME_OR_BIGGER_VALUE_AS_PHPMYADMIN
Lukas Liesis

7
仅供参考:不是最好的选择。它仅保存到当前会话中
Abdulla Nilam

70

将此行添加到/config.inc.php:

$cfg['LoginCookieValidity'] = 36000;

在/setup/lib/index.lib.php中

$cf->getValue('LoginCookieValidity') > 36000;

如果您的phpMyAdmin网站还没有.htaccess文件,请创建一个文件,然后添加以下行以覆盖默认的PHP会话超时:

php_value session.gc_maxlifetime 36000

我不建议您在您的主要php.ini文件中更改此值,因为它将使所有PHP站点的会话超时都非常长。

来源:http : //www.sitekickr.com/blog/increase-phpmyadmin-timeout/


1
如果可以的话,也可以从$ cfg ['LoginCookieValidity'] = 1440更改config.default.php第698行;至$ cfg ['LoginCookieValidity'] = 36000;
mstation '16

1
而不是将第一行phpmyadmin/config.inc.php放入目录中的新文件中,phpmyadmin/conf.d以便在升级时不会覆盖它
zelcon 2016年

5
您还可以通过将以下内容添加到config.inc.php文件(通常在/ etc / phpmyadmin目录中)来扩展gc_maxlifetime:ini_set('session.gc_maxlifetime','36000'); 这也将其本地化为phpmyadmin,并且不会影响其他PHP脚本的垃圾回收期。并且,根据文档,config.inc.php文件用于更改行为-请参阅docs.phpmyadmin.net/en/latest/config.html。因此,不必担心升级会更改此文件。
ReverseEMF

1
我只是试过了,看来不需要第二步了。只是配置文件更改,.htaccess更改。
安迪·默瑟

对于Ubuntu 18.04,文件为/usr/share/phpmyadmin/libraries/config.default.php
Ahmed Ismail

52

我们可以在以下位置更改Cookie时间会话功能:

设置->功能->常规->登录cookie的有效性

我在这里找到了答案 。。1440秒内没有任何活动。请再次登录

编辑:

此解决方案仅适用于当前会话,以永久更改:

在phpMyAdmin根目录中打开config.inc.php。

wamp文件夹:wamp \ apps \ phpmyadmin {version} \ config.inc.php

ubuntu:/ etc / phpmyadmin

添加这行

$cfg['LoginCookieValidity'] = <your_timeout>;

$cfg['LoginCookieValidity'] = '144000';

9
您还必须将session.gc_maxlifetimephp.ini 更改为高于默认值:1440。
罗斯塔米

5
这个答案是非常不完整的,不应成为头号投票者。更改设置将发出以下警告:“您的首选项将仅保存用于当前会话。要永久存储它们,需要phpMyAdmin配置存储。”
fourdogit 2014年

@fivedogit 在这里,我已经放置了一个更完整的答案,对于这个答案,它的工作很好。
Mojtaba Rezaeian 2015年

请注意,您不能设置大于9223372036854754775806的值,否则将导致整数溢出。
egdavid

23

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

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

要么

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

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

$cfg['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 如上所述更改。

16

似乎有用于更改phpmyadmin配置的UI。启动apache并单击以下链接。

http://localhost/phpmyadmin/setup/index.php?page=form&formset=Features#tab_Security


2
此链接导致phpMyAdmin 设置。通过安装脚本更改正在运行的应用程序的设置有些冒险,您不觉得吗?
trejder 2014年

13

使用此步骤的步骤,phpMyAdmin settings无需任何问题或要求即可更改php my.ini中的配置或定义.htaccess文件:

  1. 转到您的phpMyAdmin安装路径(例如,在我的centos7上为/ usr / share / phpMyAdmin /)并找到create_tables.sql其子文件夹之一(phpMyAdmin/sql/create_tables.sql在我的4.4.9版本中),然后从Web浏览器在当前phpMyAdmin站点上执行整个文件内容。这将创建一个名为的数据库phpmyadmin,该数据库可以永久保存所有phpMyAdmin选项。
  2. 在phpMyAdmin中config.inc.php(位于我的centos7服务器上的/ etc / phpMyAdmin /中)找到注释行$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';并取消注释(现在phpMyAdmin将使用我们在上一步中生成的自定义数据库)。
  3. 转到phpMyAdmin从web浏览器并转到Server >> Settings >> Features >> "Login Cookie Validity"如在图描述由Pavnish和设置所需的值。现在可以使用了。

参考Niccolas答案PhpMyAdmin 配置存储flashMarks答案


这在phpMyAdmin 4.8.3上不起作用。再次使简单复杂。我记得在此更新之前(我使用的是4.4左右),通过服务器>>设置>>功能,一切工作正常,如此处所述。不再。config.inc.php没有附带该行
luisfer

8

然后,您将收到另一个警告:“您的PHP参数session.gc_maxlifetime低于phpMyAdmin中配置的cookie有效性,因此,您的登录名将比phpMyAdmin中配置的更早过期。” 这是有道理的,因为php的会话无论如何都会先超时。因此,我们将需要更改/etc/php.ini。

session.gc_maxlifetime = 43200
Thats 12 hours in seconds. 

重新启动您的apache服务器,您就完成了!

来源:http : //birdchan.com/home/2011/06/06/phpmyadmin-timeout-after-1440-seconds/

这对我有用!:)


7

您应该重新启动apache或httpd,而不是mysqld

sudo service httpd restart

要么

sudo /etc/init.d/apache2 restart

现在我已经使用ur命令重新启动了apache(即sudo /etc/init.d/apache2 restart),但是phpmyadmin在1440秒后仍然注销。
sandeep

1
您是否看到错误“ 1440秒内没有活动;请重新登录 ”还是只是注销了?如果注销,请检查session.gc_maxlifetime您的/etc/php.ini,这是什么值?
0xmtn 2012年

是的,我看到此消息:“ 1440秒内没有活动;请重新登录”
sandeep 2012年

1
这真的很奇怪。您是否也可以session.gc_maxlifetime=3600*9/etc/php.ini中进行设置,然后重新启动Web服务器,然后重试?为了加快调试速度,请将它们(session.gc_maxlifetime$cfg['LoginCookieValidity'])都设置为较小的值,例如50(秒),然后重新启动Web服务器,清除浏览器的缓存,然后重试。
0xmtn 2012年

您能否阐明重启服务应如何更改任何配置
trejder 2014年

7

您只需增加phpMyAdmin会话超时,在phpMyAdmin根目录中打开config.inc.php并添加此行。

从wamp文件夹路径 wamp \ apps \ phpmyadmin4.0.4 \ config.inc.php

$cfg['LoginCookieValidity'] = <your_timeout>;

$cfg['LoginCookieValidity'] = '1440';

注意: 较短的cookie生存期对于开发服务器(而不是生产服务器)来说是一件好事。


7

1)登录到phpMyAdmin 2)在主屏幕上,单击“更多设置”(对我来说是屏幕的底部)3)单击屏幕顶部的“功能”选项卡/按钮。4)将20天的“登录cookie有效性”设置为1728000。5)应用。

PHP XAMPP


6

要设置永久Cookie,您需要执行一些步骤

转到-> /etc/phpmyadmin/config.inc.php文件

添加此代码

$cfg['LoginCookieValidity'] = <cookie expiration time in seconds > 

5

它不起作用。1440秒后,PHP会话将终止。

也改变PHP.ini这一点:

session.gc_maxlifetime = 3600

http://www.phpmyadmin.net/documentation/Documentation.html#config

另外,来自PHP.ini

如果您使用子目录选项来存储会话文件

; (请参见上面的session.save_path),则垃圾收集不会

; 自动发生。您将需要自己做垃圾

; 通过shell脚本,cron条目或其他方法进行收集。

; 例如,以下脚本将等效于

; 将session.gc_maxlifetime设置为1440(1440秒= 24分钟):

; cd / path / to / sessions; 找到-cmin +24 | xargs rm


5

从wampicon / php / php中更改php.in文件

session.gc_maxlifetime = 1440

session.gc_maxlifetime = 43200

4

如果该参数$cfg['LoginCookieValidity']未在config.inc.php文件中生效,请尝试session.gc_maxlifetime在php.ini文件中禁用分号,如下所示:

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; http://php.net/session.gc-maxlifetime
; session.gc_maxlifetime = 1440

或尝试同时禁用它们$cfg['LoginCookieValidity']session.gc_maxlifetime = 1440通过注释掉它们。

然后,当您空闲时,phpMyAdmin应该不再注销。它适用于Windows。不要忘记清除浏览器缓存并重新启动Web服务器。


我差点忘了。应用这些更改后,请清除浏览器缓存并重新启动Web服务器!队友的欢呼声。
亚历克斯

我认为,如果您在中具有phpMyAdmin的类似多服务器的配置,则实际上应该设置$cfg['Servers'][$i]['LoginCookieValidity']而不是。不,将其注释掉不会带来任何结果,因为默认情况下此值已消失。因此,在注释掉或删除此参数的情况下,phpMyAdmin似乎已恢复为默认秒数。$cfg['LoginCookieValidity']config.inc.php$cfg['Servers'][$i]['LoginCookieValidity']1440
trejder 2014年

4

更改Cookie到期的步骤

步骤1:转到Phpmyadmin的设置

步骤2:一般

步骤3:登录Cookie的有效性

步骤4:使用您的新值更新1440秒的默认Cookie过期时间


3
它仅适用于特定会话,之后将再次设置为1440秒
Naresh Dudhat

2

如果您具有phpmyadmin配置存储设置,则这些设置将从phpmyadmin.pma__userconfig表中拉出,并将覆盖config.inc.php中的所有内容。在此表中,可以为每个MYSQL用户分配一组不同的phpmyadmin设置。


1

在尝试了所有建议的方法并仍然保持注销状态之后,我转向为Tampermonkey编写一个小的usercsript,因为我已经有了该扩展名。这非常简单,每分钟一次将请求发送到PHPMyAdmin的低占用空间脚本之一。这是代码:

// ==UserScript==
// @name         PHPMyAdmin Keep Session Alive
// @namespace    https://www.bitwizeor.io/
// @version      0.1
// @description  No more nasty PHPMyAdmin session expiries
// @match        http://localhost/phpmyadmin/*
// ==/UserScript==

(function() {
    'use strict';
    console.log('PHPMyAdmin Keep Session Alive activated');
    var url;
    window.setInterval(function(){
        url = $("#serverinfo a:eq(1)").prop("href");
        url += '&ajax_request=true&ajax_page_request=true';
        $.getJSON(url);
        console.log('pinging ...');
    }, 60000);
})();

1

===使用http登录的方法1 ===

[php.ini]
session.gc_maxlifetime = 86400

[config.inc.php]

$cfg['Servers'][$i]['auth_type']     = 'http';

===使用Cookie登录的方法2 ===

[php.ini]

session.gc_maxlifetime = 86400

[config.inc.php]

$cfg['Servers'][$i]['auth_type']     = 'cookie';

$cfg['Servers'][$i]['LoginCookieValidity'] = 86400;

$cfg['Servers'][$i]['pmadb']         = 'phpmyadmin';

$cfg['Servers'][$i]['controluser']   = 'phpmyadmin_pma';

$cfg['Servers'][$i]['controlpass']   = 'nigookike';

$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // there's a lot of other table required for full functionality,
                                                                         // all others can be left out unconfig except this one

[mysql]
-import phpMyAdmin/sql/create_tables.sql

-grant PRIVILEGES to phpmyadmin_pma as below

db/table

phpmyadmin  ALL PRIVILEGES 

mysql/db    SELECT

mysql/host  SELECT

mysql/tables_priv   USAGE

mysql/user  USAGE


-clear all entries should old one exists

phpmyadmin/pma__userconfig

[webUI]

-clear broswer cookie

-as normal mysql user, access http://mysql/phpmyadmin , at the bottom of page:

    The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. [Find out why.]

-near top of the page

    [Create missing phpMyAdmin configuration storage tables.]

-access http://mysql/phpmyadmin > settings > features > Login cookie validity > 86400 > [apply]

-check phpmyadmin/pma__userconfig contain new entries of aforemention mysql user

NB

  1. 每个用户都有独立的设置,必须为每个用户重复[webUI]过程

  2. 如果“ phpMyAdmin配置存储未完全配置,则某些扩展功能已被停用。[找出原因。]”

链接未出现在首页上,请转至设置>功能>警告>缺少phpMyAdmin配置存储表> [刷新]几次使其显示


请正确格式化此代码段。否则,它几乎是不可读的。-尽管内容看起来很有希望。
伊戈尔(Igor)

0

我已经找到了解决方案,并且已经成功使用了一段时间。

只需将此插件安装到FF浏览器即可。


3
伟大的建议,因为整个世界使用的Firefox。对于这标志着作为回答,你至少应该建议插件超过1个浏览器-因为大多数正常的人使用浏览器体面诸如谷歌浏览器..

5
对这样一个具体的琐碎问题使用插件似乎使我不知所措。
saimiris_devel

1
这不能回答问题。这不应是公认的答案。您在问:“我不确定为什么增加的超时没有生效。我究竟做错了什么?”
菲利普·安德烈·洛林

这是完全不相关的答案。用户是否需要更改“选定答案”,或者我们需要主持人调查?

0

我之后对我有用

  • 改变了$cfg['LoginCookieValidity'](phpmyadmin folder)/libraries/config.default.php999999999

  • 通过检查了php.iniphpmyadmin使用的php5 -i | grep php.ini

  • 转到php.ini我从grep命令输出获得路径的文件,并将其session.gc_maxlifetime值更改为999999999

  • 重新启动服务器。就我而言sudo service apache2 restart

做完了 登录phpmyadmin并在设置->功能->常规->登录cookie有效性中检查cookie有效性。是999999999。也没有警告“您的PHP参数session.gc_maxlifetime低于cookie的有效性...”。在我更改php.ini文件之前登录phpmyadmin后显示警告。

检查phpmyadmin使用的php版本。您应该更改phpmyadmin使用的php的ini文件。我已经安装了php5和php(ie 7)。但是我的phpmyadmin使用的是php5。因此,我不得不搜索php5的ini文件。


0

我知道这是一篇旧文章,但是我尝试了阅读的所有解决方案,包括此页面上的解决方案,都无济于事,然后我很幸运,因此将其发布在这里。

我正在运行Ubuntu 17.10。

我存档了/etc/phpmyadmin/config.inc.php并将其内容替换为/usr/share/phpmyadmin/config.sample.inc.php的内容。

然后我

 1) Enabled (uncommented) all the options under "Storage database and tables"; 
 2) Included "ini_set('session.gc_maxlifetime', 86400);" underneath the uncommented items; and 
 3) Provided a 32 character sequence for the $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */, which is above the uncommented items.

我保存了文件并重新启动了phpMyAdmin。

我选择服务器:localhost->设置->功能,并将“登录cookie有效性”的值更改为86400(24小时)。请注意,您指定的任何非默认值都会导致此选项的背景颜色变为黄色,因此请不要担心。该值应小于或等于您在config.inc.php中使用的值。

我保存了设置,退出并重新启动了phpMyAdmin。

最后,所有消息消失了。我的会话按照设置保持活动状态(在这种情况下,整天都是这样),并且我的设置被记住。

我当然希望这对某人有帮助。对我来说,处理和解决问题实在令人沮丧。


0

将驱动器安装到此处,然后进入wamp,然后进入应用程序,然后进入phpmyadmin版本文件夹,然后进入库,然后编辑config.default.php文件,例如

E:\ wamp \ apps \ phpmyadmin4.6.4 \ libraries \ config.default.php

在这里你必须改变

$ cfg ['LoginCookieRecall'] = true;

$ cfg ['LoginCookieRecall'] = false;

您也可以更改Cookie的时间,而不是禁用Cookie调用

$ cfg ['LoginCookieValidity'] = 1440;

$cfg['LoginCookieValidity'] = anthing grater then 1440 

我的是

 $cfg['LoginCookieValidity'] = 199000;

更改后重新启动服务器 在此处输入图片说明

还有另一种方法,但是当我们重新启动wamp服务器时,它会重置,这也是该方法

登录到您的phpmyadmin dashbord,然后进行设置,然后单击功能,然后在常规选项卡中,您将看到“登录cookie有效性”输入大于14400的值,但这在下一次重新启动服务器之前一直有效。

在此处输入图片说明


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.