在我的本地开发Ubuntu框中,我使用MySQL和phpmyadmin来处理数据库。
每当phpmyadmin空闲1440秒(24分钟)时,会话就会到期。我失去了我的位置,必须登录并重新开始。
我尝试更改$cfg['LoginCookieValidity'] = 3600 * 9;
内的config.inc.php
,但它仍然在1440秒内超时。
我已重新启动所有内容并清除了浏览器缓存(Firefox历史记录 - >清除最近的历史记录 - >缓存 - >所有内容)。
我不确定为什么增加的超时不会生效。我做错了什么?
答案 0 :(得分:191)
在浏览器中访问PHPMyAdmin
设置>特征>更改登录Cookie有效期的值>保存
答案 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']的相同值是个好主意。
注:的
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
。这应该照顾错误。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文件:phpmyadmin
路径并在其子文件夹(我的4.4.9版本中为create_tables.sql
)中找到phpMyAdmin/sql/create_tables.sql
。并在您当前的phpMyAdmin网站上执行整个文件内容浏览器。这将创建一个名为phpmyadmin
的数据库,它可以永久保存所有phpMyAdmin选项。config.inc.php
找到注释行$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
并取消注释(现在phpMyAdmin将使用我们在上一步中生成的自定义数据库)。phpMyAdmin
并转到Server >> Settings >> Features >> "Login Cookie Validity"
,如Pavnish所述,并设置所需的值。它现在有效。参考: Niccolas Answer,PhpMyAdmin Configuration Storage,flashMarks 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)申请。
答案 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。
每个用户都有独立设置,并且必须为每个用户重复[webUI]程序
如果 “phpMyAdmin配置存储未完全配置,某些扩展功能已停用。[找出原因。]”
链接未显示在首页上,请进行设置&gt;功能&gt;警告&gt;缺少phpMyAdmin配置存储表&gt; [刷新]几次就会出现
答案 19 :(得分:1)
按照以下步骤增加phpmyadmin的会话超时:
方法1:
确保您在登录cookie有效性中输入的任何值都以秒为单位
方法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;
还有另一种方法,但是当我们重新启动wamp服务器时,它会重置 这也是这个方法
登录到您的phpmyadmin dashbord 然后转到设置,然后单击功能,然后在常规选项卡中,您将看到登录cookie有效性,输入大于14400的值 但这在下一次重新启动服务器之前一直有效。
答案 23 :(得分:0)
对于Ubuntu 18.04,我刚刚编辑了文件/usr/share/phpmyadmin/libraries/config.default.php
更改:
$cfg['LoginCookieValidity'] = 1440
答案 24 :(得分:0)
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
bash
:$ docker exec -it docker_localhost_myadmin bash
root@c1d8e6ffd28c:/var/www/html#
<块引用>
在这种情况下,docker_localhost_myadmin
是 my
容器的名称。
vim editor
以更改具有超时变量的文件。执行:$ apt update
$ apt upgrade
$ apt install vim
config.default.php
:$ vim /var/www/html/libraries/config.default.php
$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
或更大。
$ /etc/init.d/apache2 reload
答案 25 :(得分:0)
在 CMD 或 Git Bash“containers”项目文件夹中运行此命令(在开头有或没有 'winpty')
winpty docker-compose exec phpmyadmin bash
复制并重命名当前(phpmyadmin 容器)目录(/var/www/html)中的以下文件
--(语法:'cp oldfile newfile'):
cp config.sample.inc.php config.inc.php
安装(如果没有安装文本编辑器)VIM:
apt-get update
apt-get install vim -y
用vim编辑我们上面复制的文件:
vim config.inc.php
在新行中按 Insert key
添加以下行:
(86400 = 一天,2500000 = 一个月)
$cfg['LoginCookieValidity'] = 86400;
Esc key
:wq
然后输入 Enter
注意:来自上述用户的另一条说明:
-- 而不是将第一行放在 phpmyadmin/config.inc.php 中,而是将它放在目录 phpmyadmin/conf.d 中的一个新文件中,这样它就不会在升级时被覆盖