phpmyadmin在1440秒后退出

时间:2012-12-04 07:12:32

标签: mysql django phpmyadmin timeout logout

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

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

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

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

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

26 个答案:

答案 0 :(得分:191)

在浏览器中访问PHPMyAdmin

  

设置>特征>更改登录Cookie有效期的值>保存enter image description here

答案 1 :(得分: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/

答案 2 :(得分:47)

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

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

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

答案 3 :(得分:22)

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

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

OR

如果要更改配置文件中的“登录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 如上所述。

答案 4 :(得分:16)

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

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

答案 5 :(得分:13)

使用phpMyAdmin settings执行此操作的步骤没有任何问题或要求更改php my.ini中的配置或定义.htaccess文件:

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

答案 6 :(得分: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 :(得分:7)

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

php xampp

答案 8 :(得分:7)

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

sudo service httpd restart

sudo /etc/init.d/apache2 restart

答案 9 :(得分:6)

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

来自wamp文件夹的

路径 wamp \ apps \ phpmyadmin4.0.4 \ config.inc.php

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

示例

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

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

答案 10 :(得分:5)

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

转到 - &gt; /etc/phpmyadmin/config.inc.php档案

添加此代码

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

答案 11 :(得分:5)

从wampicon / php / php

中更改php.in文件
session.gc_maxlifetime = 1440

session.gc_maxlifetime = 43200

答案 12 :(得分: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

答案 13 :(得分:4)

更改Cookie过期的步骤

第1步:转到Phpmyadmin的设置

第2步:一般

第3步:登录cookie有效期

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

答案 14 :(得分: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。不要忘记清除浏览器缓存并重新启动网络服务器。

答案 15 :(得分:2)

如果您设置了phpmyadmin configuration storage,则会从phpmyadmin.pma__userconfig表中提取设置,并覆盖config.inc.php中的所有内容。在此表中,可以为每个MYSQL用户分配一组不同的phpmyadmin设置。

答案 16 :(得分:1)

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

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

答案 17 :(得分:1)

在我尝试了所有建议的方法并且仍然保持注销后,我转向为Tampermonkey编写一个小用户软件,因为我已经有了这个扩展名。它非常简单,只需每分钟向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);
})();

答案 18 :(得分:1)

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

Process p;
try {
  //gives command for runtime
  String command="cmd "+System.getProperty("user.dir")+ " python getid.py \""+ itemSize[0].toString()+"\" "+ itemSize[1].toString();
  System.out.println(command);
  p = Runtime.getRuntime().exec(command);
  BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()),8*1024);
  BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));

  // read the output from the command

  String s = null;
  System.out.println("Here is the standard output of the command:\n");
  while ((s = stdInput.readLine()) != null) 
    System.out.println(s.replace("[","").replace("]",""));
}catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

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

[php.ini]
session.gc_maxlifetime = 86400

[config.inc.php]

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

N.B。

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

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

  3. 链接未显示在首页上,请进行设置&gt;功能&gt;警告&gt;缺少phpMyAdmin配置存储表&gt; [刷新]几次就会出现

答案 19 :(得分:1)

按照以下步骤增加phpmyadmin的会话超时:

方法1:

  • 使用您的根凭据登录到phpMyAdmin
  • 从导航栏中的顶部选择设置
  • 点击功能
  • 常规标签中搜索登录cookie有效性字段
  • 将此字段的值更改为大于1440的值,例如36000或更高的值。

确保您在登录cookie有效性中输入的任何值都以秒为单位

phpmyadmin increase session timeout

方法2:

找到您的using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace FullCalendar.Models { public class Calendar { [Key] public int EventID { get; set; } [StringLength(50)] [Column("Title")] [Display(Name = "Title")] public string Title { get; set; } [StringLength(50)] [Column("Description")] [Display(Name = "Description")] public string Description { get; set; } [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] [Display(Name = "Start Date")] public DateTime StartDate { get; set; } [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)] [Display(Name = "End Date")] public DateTime EndtDate { get; set; } [StringLength(50)] [Column("ThemeColour")] [Display(Name = "Theme Colour")] public string ThemeColour { get; set; } } } 文件

config.inc.php

For CentOS, Fedora servers: /etc/phpMyAdmin/config.inc.php For Ubuntu, Debian servers: /etc/phpmyadmin/config.inc.php 中搜索 LoginCookieValidity ,并增加其值

config.inc.php

将更改保存到config.inc.php文件,然后重新启动服务器。

$cfg['Servers'] [$i] ['LoginCookieValidity'] = 1440; //change to $cfg['Servers'] [$i] ['LoginCookieValidity'] = 36000; 中的session.gc_maxlifetime增加到大于或等于您在php.ini中输入的值。

答案 20 :(得分:0)

之后对我有用
  • 更改了filter_width = 2 $cfg['LoginCookieValidity'](phpmyadmin folder)/libraries/config.default.php

  • 通过999999999检查了phpmyadmin使用的php.ini

  • 转到我从grep命令输出获取路径的php5 -i | grep php.ini文件,并将php.ini值更改为session.gc_maxlifetime

  • 重新启动服务器。就我而言,它是999999999

完成。登录phpmyadmin并检查设置中的cookie有效性 - &gt;特点 - &gt;一般 - &gt;登录cookie有效期。那是sudo service apache2 restart。此外没有警告&#34;您的PHP参数session.gc_maxlifetime低于cookie有效性...&#34;。在我更改999999999文件之前登录phpmyadmin后显示警告。

检查phpmyadmin使用的php版本。你应该更改phpmyadmin使用的php的ini文件。我安装了php5和php(即7)。但我的phpmyadmin使用php5。所以我不得不搜索php5的ini文件。

答案 21 :(得分: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。

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

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

答案 22 :(得分:0)

将驱动器安装到此处,然后进入驱动器,然后选择应用程序,然后进入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;

更改后重新启动服务器 enter image description here

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

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

enter image description here

答案 23 :(得分:0)

对于Ubuntu 18.04,我刚刚编辑了文件/usr/share/phpmyadmin/libraries/config.default.php

更改: $cfg['LoginCookieValidity'] = 1440

答案 24 :(得分:0)


如果您在 DOCKER 容器中使用 phpMyAdmin:


  1. 转到您的 TERMINAL 并列出您的 Docker 容器以找出 phpmyadmin 容器:
$ docker ps

# EXAMPLE OF OUTPUT: 

CONTAINER ID   IMAGE                   COMMAND                  CREATED       STATUS       PORTS                                      NAMES
93dfa1f49775   php:7.4.1-fpm           "docker-php-entrypoi…"   2 weeks ago   Up 2 weeks   9000/tcp                                   docker_localhost_app
36299ca6ce83   nginx:alpine            "/docker-entrypoint.…"   2 weeks ago   Up 2 weeks   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   docker_localhost_nginx
c1d8e6ffd28c   phpmyadmin/phpmyadmin   "/docker-entrypoint.…"   2 weeks ago   Up 2 weeks   0.0.0.0:8080->80/tcp                       docker_localhost_myadmin
d75778f88cc6   mysql:5.6               "docker-entrypoint.s…"   2 weeks ago   Up 2 weeks   0.0.0.0:3306->3306/tcp                     docker_localhost_db

  1. 在所选容器中执行 bash
$ docker exec -it docker_localhost_myadmin bash

root@c1d8e6ffd28c:/var/www/html#
<块引用>

在这种情况下,docker_localhost_myadminmy 容器的名称。


  1. 安装 vim editor 以更改具有超时变量的文件。执行:
$ apt update
$ apt upgrade
$ apt install vim

  1. 编辑文件 config.default.php
$ vim /var/www/html/libraries/config.default.php

  1. 找出变量 $cfg['LoginCookieValidity'] 并将其从 1440 更改为 28800(8 小时):

要找出 vim 上的变量,请按 / 并输入 LoginCookieValidity

之前:

  $cfg['LoginCookieValidity'] = 1440 

之后:

  $cfg['LoginCookieValidity'] = 28800; 
<块引用>

注意 1:DO NOT 设置 0(零),因为它会使您的 phpMyAdmin 立即注销。

<块引用>

注意 2:您可能会在 phpMyAdmin 上看到如下消息:

您的 PHP 参数 session.gc_maxlifetime 低于 phpMyAdmin 中配置的 cookie 有效性,因此,您的登录可能比 phpMyAdmin 中配置的更早过期。

在这种情况下,将 docker-compose.yml 上的环境变量 session.gc_maxlifetime 更改为 - session.gc_maxlifetime=28800 或更大。


  1. 重启你的容器:
$ /etc/init.d/apache2 reload

  1. 注销并登录您的 phpMyAdmin 以查看结果。

答案 25 :(得分:0)

DOCKER 容器

PHPMYADMIN NO EXIT(防止 Docker 容器 phpMyAdmin 在 1440 秒内没有交互时自动注销)

  1. 在 CMD 或 Git Bash“containers”项目文件夹中运行此命令(在开头有或没有 'winpty') winpty docker-compose exec phpmyadmin bash

  2. 复制并重命名当前(phpmyadmin 容器)目录(/var/www/html)中的以下文件 --(语法:'cp oldfile newfile'):
    cp config.sample.inc.php config.inc.php

  3. 安装(如果没有安装文本编辑器)VIM:
    apt-get update
    apt-get install vim -y

  4. 用vim编辑我们上面复制的文件:
    vim config.inc.php

  5. 在新行中按 Insert key 添加以下行:
    (86400 = 一天,2500000 = 一个月)

$cfg['LoginCookieValidity'] = 86400;
  1. Esc key
  2. 输入 :wq 然后输入 Enter

注意:来自上述用户的另一条说明:
-- 而不是将第一行放在 phpmyadmin/config.inc.php 中,而是将它放在目录 phpmyadmin/conf.d 中的一个新文件中,这样它就不会在升级时被覆盖