phpmyadmin在1440秒后退出

问题描述 投票:123回答:21

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

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

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

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

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

mysql django phpmyadmin timeout logout
21个回答
193
投票

在浏览器中转到PHPMyAdmin

设置>功能>更改登录cookie有效期的值>保存


7
投票

1)登录phpMyAdmin 2)在主屏幕上点击“更多设置”(屏幕中间的底部)3)点击屏幕顶部的“功能”选项卡/按钮。 4)在20天内将“登录cookie有效期”设置设置为1728000 5)应用。

php xampp


5
投票

它不起作用。 PHP会话将在1440秒后过期。

这也改变了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

5
投票

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

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

添加此代码

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

4
投票

如果参数$cfg['LoginCookieValidity']没有在config.inc.php文件中生效,请尝试通过在左侧添加分号来禁用php.ini文件中的session.gc_maxlifetime,如下所示:

; 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。不要忘记清除浏览器缓存并重新启动网络服务器。


4
投票

更改cookie过期的步骤

第1步:转到Phpmyadmin的设置

第2步:一般

第3步:登录cookie有效期

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


2
投票

如果你有phpmyadmin configuration storage设置,设置将从你的phpmyadmin.pma__userconfig表中提取出来,并覆盖你在config.inc.php中的任何内容。在此表中,可以为每个MYSQL用户分配一组不同的phpmyadmin设置。


1
投票

我已经找到了解决方案,并且现在已成功使用它。

只需将此Addon安装到您的FF浏览器即可。


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
投票

===方法1,http登录===

[php.ini]
session.gc_maxlifetime = 86400

[config.inc.php]

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

===方法2,使用cookie登录===

[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

注:

  1. 每个用户都有独立的设置,并且必须为每个用户重复[webUI]过程
  2. 如果“phpMyAdmin配置存储未完全配置,则某些扩展功能已停用。[找出原因。]”

链接没有出现在首页,去设置>功能>警告>缺少phpMyAdmin配置存储表> [刷新]几次将使它出现


63
投票

将此行添加到/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/


0
投票

我之后对我有用

  • $cfg['LoginCookieValidity'](phpmyadmin folder)/libraries/config.default.php改为999999999
  • 检查了php.ini的phpmyadmin使用的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(即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。

我选择了Server:localhost - > Settings - > Features并将“Login cookie validity”的值更改为86400(24小时)。请注意,您指定的任何非默认值都会导致此选项的背景颜色变为黄色,因此请勿对其进行警告。该值应小于或等于config.inc.php中使用的值。

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

最后,所有消息都消失了。我的会话根据设置(在这种情况下全天)保持活动状态,并记住我的设置。

我当然希望这有助于某人。对我来说,处理和解决是令人沮丧的。


47
投票

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

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

我在这里找到了答案.. No activity within 1440 seconds; please log in again


22
投票

您可以在phpmyadmin Web界面更改cookie时间会话功能

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

要么

如果要更改配置文件中的“登录cookie有效期”,请在PHPMyAdmin的根目录中打开phpmMyAdmin配置文件config.inc.php。(根目录通常是/ 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


phpMyAdmin Documentation on LoginCookieValidity

$ cfg ['LoginCookieValidity']

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

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

注意:

  1. 如果您的服务器崩溃且无法加载您的phpmyadmin页面,请检查您的apache日志/var/log/apache2/error.log。如果你在135行得到PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.php,那就做一个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


13
投票

Steps for doing this using phpMyAdmin settings without any problem or requirements to change configs in php my.ini or defining .htaccess file:

  1. 转到你的phpmyadmin路径,在其子文件夹(我的4.4.9版本中的create_tables.sql)中找到phpMyAdmin/sql/create_tables.sql,并从你的网络浏览器在你当前的phpMyAdmin网站上执行整个文件内容。这将创建一个名为phpmyadmin的数据库,它可以永久保存所有phpMyAdmin选项。
  2. 在phpMyAdmin的config.inc.php中找到注释行$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';并取消注释(现在phpMyAdmin将使用我们在上一步中生成的自定义数据库)。
  3. 从Web浏览器转到phpMyAdmin并按照Pavnish描述的图片转到Server >> Settings >> Features >> "Login Cookie Validity"并设置所需的值。它现在有效。

参考文献:Niccolas AnswerPhpMyAdmin Configuration StorageflashMarks Answer


7
投票

你应该重启apache或httpd,而不是mysqld

sudo service httpd restart

要么

sudo /etc/init.d/apache2 restart

7
投票

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

session.gc_maxlifetime = 43200
That’s 12 hours in seconds. 

重启你的apache服务器,你就完成了!

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

这对我有用! :)


7
投票

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

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

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

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

注意:对于不是生产服务器的开发服务器,短cookie生命周期都很好。

© www.soinside.com 2019 - 2024. All rights reserved.