Phpmyadmin 在1440秒后退出

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

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

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

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

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

109631 次浏览

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

sudo service httpd restart

或者

sudo /etc/init.d/apache2 restart

然后您将收到另一个警告: “您的 PHP 参数 session.gc _ maxlife 低于在 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/

这对我有用! :)

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

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

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

如果参数 $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 上也能用。不要忘记清除浏览器缓存并重新启动网络服务器。

如果设置了 配置存储器,那么将从 phpmyadmin.pma _ _ userconfig 表中提取设置,并覆盖 config.inc.php 中的所有设置。在这个表中,可以为每个 MYSQL 用户分配一组不同的 phpmyadmin 设置。

我们可以在以下位置更改 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';

您只需增加 phpMyAdmin Session Timeout,在根 phpMyAdmin 目录中打开 config.inc.php 并添加这一行。

从文件夹里拿出来的 Path wamp apps phpmyadmin4.0.4 config.inc.php

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

例子

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

注: 短 Cookie 生存期对于开发服务器而不是生产服务器来说是非常好的。

无法工作。 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 _ maxlife 设置为1440(1440秒 = 24分钟) :

; cd/path/to/session; find-cmin + 24 | xargs rm

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

session.gc_maxlifetime = 1440

session.gc_maxlifetime = 43200

我已经找到了解决办法,并成功地使用了一段时间。

把这个 阿登安装到你的 FF 浏览器上。

您可以在 phpmyadmin Web 界面上更改 Cookie 时间会话特性

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

或者

如果希望更改配置文件中的“ login 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 >;

从上面的示例开始,Timeout 被设置为3小时。

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

session.gc_maxlifetime = 3600 * 3


关于 LoginCookie 有效性的 phpMyAdmin 文档

$cfg [‘ LoginCookieValidity’]

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

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

注意:

  1. 如果服务器崩溃,无法加载 phpmyadmin 页面,请检查 您的 apache 日志位于/var/log/apache2/error.log 中的非对象上调用成员函数 get () 在第135行执行/path/to/phpmyadmin/library/Header.class.php ,然后执行 一个 chmod 644 config.inc.php,应该能处理错误。
  2. 然后,您将收到另一个警告: < code > Your PHP 参数 中配置的 cookie 有效性较低 PhpMyAdmin,因此,您的登录过期时间将早于 在 phpMyAdmin 中配置。 。然后更改 session.gc_maxlifetime 如上所述。

更改 Cookie 过期的步骤

第一步: 进入 Phpmyadmin 的设置

步骤2: 将军

步骤3: 登录 cookie 有效性

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

要设置永久 cookie,您需要遵循以下步骤

Goto-> /etc/phpmyadmin/config.inc.php文件

加上这个代码

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

在浏览器中打开 PHPMyAdmin

设置 > 特性 > 更改登录 cookie 有效性的值 > 保存enter image description here

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

1)登入 phpMyAdmin 2)从主屏幕上点击“更多设置”(屏幕中间底部为我) 3)点击屏幕顶部的“特色”选项卡/按钮。 4)在20天内,将「登入 cookie 有效期」设定为1728000 5)申请。

Php xampp

使用 phpMyAdmin settings完成这项工作的步骤,没有任何问题,也不需要修改 php my.ini 中的配置或定义。Htaccess 文件:

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

参考文献 : 尼古拉斯答案闪光标记答案

在这里我尝试了所有建议的方法,但仍然不断被退出之后,我转向为 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);
})();

这招对我很管用

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

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

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

  • 重新启动服务器。对我来说是 sudo service apache2 restart

成交。登录 phpmyadmin,然后在 Settings-> Features-> General-> Login Cookie validation 中检查 Cookie 有效性。是 999999999。而且也没有警告“您的 PHP 参数 session.gc _ maxlife 比 cookie 有效性更低...”。在我更改 php.ini文件之前登录 phpmyadmin 之后显示的警告。

检查 phpmyadmin 使用的 php 版本。您应该更改 phpmyadmin 使用的 php 的 ini 文件。我已经安装了 php5和 php (即7)。但是我的 phpmyadmin 使用 php5。所以我必须搜索 php5的 ini 文件。

= = 具有 http login = = 的方法1

[php.ini]
session.gc_maxlifetime = 86400


[config.inc.php]


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

= = 使用 Cookie login 的方法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

注意。

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

  2. 如果 PhpMyAdmin 配置存储没有完全配置,一些扩展功能已经停用

链接不会出现在首页,去设置 > 功能 > 警告 > 缺少 phpMyAdmin 配置存储表 > [刷新]几次就会出现

我知道这是一篇老文章,但我尝试了我读到的每一个解决方案,包括这个页面上的那些都没有用,然后我很幸运,所以我把它发布在这里。

我在运行 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。

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

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

驱动器在这里你的 wamp 安装然后去 wamp 然后应用程序然后你的 phpmyadmin 版本文件夹然后去库然后编辑 config.default.php 文件例如

E: wamp apps phpmyadmin4.6.4库 config.default.php

在这里你必须改变

$cfg [‘ LoginCookieRecall’] = true;

$cfg [‘ LoginCookieRecall’] = false;

你也可以改变 cookie 的时间来禁用 cookie 回收

$cfg [‘ LoginCookie 有效性’] = 1440;

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

我的才是

 $cfg['LoginCookieValidity'] = 199000;

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

还有一个方法,但它重置时,我们重新启动我们的 Wamp 服务器 这里还有一个方法

登录到 phpmyadmin dashbord 然后转到设置,然后点击功能,在一般选项卡,你会看到登录 cookie 有效性放置任何大于14400 但是这在服务器下次重新启动之前是有效的。

enter image description here

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

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

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

方法一:

  • 使用 root 凭据登录到 phpMyAdmin
  • 从导航栏顶部选择 设定
  • 点击 特征
  • 将军选项卡中搜索 登录 cookie 有效性字段
  • 将此字段的值更改为大于1440的值,如36000或更高的值。

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

phpmyadmin increase session timeout

方法二:

找到 config.inc.php文件

For CentOS, Fedora servers:
/etc/phpMyAdmin/config.inc.php


For Ubuntu, Debian servers:
/etc/phpmyadmin/config.inc.php

config.inc.php中搜索 登录 Cookie 有效性并增加其值

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


//change to
$cfg['Servers'] [$i] ['LoginCookieValidity'] = 36000;

保存对 config.inc.php 文件的更改并重新启动服务器。

增加 php.ini中的 session.gc_maxlifetime,使其大于或等于在 config.inc.php中输入的值。


如果在 DOCKER 容器中使用 phpMyAdmin:


  1. 转到你的 TERMINAL并列出你的码头集装箱,以便找到 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 _ maxlife 比在 phpMyAdmin 中配置的 cookie 有效性要低,因此您的登录过期可能比在 phpMyAdmin 中配置的要早。

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


  1. 重新启动容器:
$ /etc/init.d/apache2 reload

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

码头集装箱(落叶松)

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

  1. 在 CMD 或 Git Bash 的“容器”项目文件夹中运行此命令(对于 Windows 用户,在开始处使用“ winpty”)

winpty docker-compose exec phpmyadmin bash

  1. 在当前(phpmyadmin 容器)目录(/var/www/html)中复制并重命名以下文件 ——(语法: ‘ cp oldfile newfile’) :

cp config.sample.inc.php config.inc.php

  1. 安装(如果没有安装文本编辑器) VIM:

apt-get update ; apt-get install vim -y

  1. 用 vim 编辑我们上面复制的文件:

vim config.inc.php

  1. 通过按 Inserti在新线上添加波纹管:
    (86400 = 一天,2500000 = 一个月)
$cfg['LoginCookieValidity'] = 86400;
  1. Esc key
  2. 键入 :wq然后 Enter

注意: 上面@zelcon 的另一条指令:

而不是将第一行放在 phpmyadmin/config.inc.php 中 在 phpmyadmin/config.d 目录中的一个新文件中,这样它就不会 在升级时被覆盖