如何在 phpmyadmin 中更改时间限制(登录)

Posted

技术标签:

【中文标题】如何在 phpmyadmin 中更改时间限制(登录)【英文标题】:How to change time limit in phpmyadmin (logging in) 【发布时间】:2011-02-16 06:46:17 【问题描述】:

我使用 phpmyadmin 创建 mysql 数据库。我已经在 config.inc.php 中将 auth 类型设置为 cookie。 如何更改时间限制,以便即使我登录了几个小时都处于空闲状态,也不需要我再次登录。

【问题讨论】:

应该在serverfault.com询问 【参考方案1】:

我知道这个问题已经过时了,但上面的“选定”答案实际上并不起作用。这只是设置会话数据被删除的时间。

在尝试这个并意识到它失败后,我花了一些时间阅读 phpmyadmin 文档并找到了这个:

$cfg['LoginCookieValidity'] = 86400;
$cfg['LoginCookieStore'] = 0;

第一行是自动注销前的时间量。这些值需要在您的 phpmyadmin 安装文件夹中设置,在文件 config.inc.php 中。

它们在我的文件中根本不存在,但在将它们添加到底部后它可以正常工作。第一个变量定义了您在几秒钟内注销的时间 - 我将我的设置为 1 天。第二个变量是 cookie 的持续时间。 0 表示 cookie 会持续到您关闭浏览器。

设置这两个变量会产生预期的效果。您可以将两者都设置为某个疯狂的数字并且从不登录,但这会非常不安全。

【讨论】:

很奇怪,新版本的phpMyAdmin已经从设置->功能选项卡中删除了这个设置。【参考方案2】:

Ubuntu 的快速解决方案:


// 编辑php.ini 并查找session.gc_maxlifetime 须藤 vi /etc/php5/apache2/php.ini

// 设置为 24 小时 session.gc_maxlifetime = 86400


// 编辑config.inc.php 并查找$cfg['LoginCookieValidity'] 须藤 vi /etc/phpmyadmin/config.inc.php

// 设置为 24 小时 $cfg['LoginCookieValidity'] = 86400;


// 重启网络服务器 sudo service apache2 重启

【讨论】:

【参考方案3】:

在我的情况下(4.3.8)只需将 config.inc.php cookie 替换为 config 并添加 2 行,如下所示:

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['username'] = 'root'; //add this line
$cfg['Servers'][$i]['password'] = 'root'; //add this line

【讨论】:

在基于 debian 的系统上,地址为 /etc/phpmyadmin/config.inc.php【参考方案4】:

我终于找到了窍门,假设你至少有 4.3.X 版本:

首先,登录 phpMyAdmin,登录后,点击Databases (位于顶部菜单)

然后在输入文本Create database上,插入phpmyadmin并点击Create (你可以选择你想要的字符集,这个是可选的)

创建数据库后,在列表中单击它(应该与您的其他数据库一起出现)

单击 SQL 并将 create_tables.sql 的内容插入到您的目录 phpMyAdmin 中:

/phpMyAdmin-(yourversion)-all-languages/sql/create_tables.sql

您可以选择将其转储到命令行(终端)中:

mysql phpmyadmin -u myMysqluser -pMypassword < create_tables.sql

现在完成了,打开您的 config.inc.php 并取消注释这两行:

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

请注意,如果您不取消注释其他 $cfg['Servers'][$i],phpmyadmin 将返回:

phpMyAdmin配置存储未配置完整, 一些扩展功能已被停用。找出为什么。要么 或者转到任何数据库的“操作”选项卡进行设置。

这只是关于其他可用选项的警告。 (如果你不需要他们,让他们评论)

注销并再次登录 phpMyAdmin 并转到 Settings (位于 Import 和 Replication 之间的顶部菜单) 并单击 Features 你将看到选项:

Login cookie validity

你必须在几秒钟内输入 cookie 的有效性。

点击Apply就完成了,该用户的记录会保存在之前创建的数据库(phpmyadmin)的pma__userconfig表中,记录 看起来像这样:

"LoginCookieValidity":21600,"Server\/hide_db":"","collation_connection":"utf8mb4_unicode_ci"

如果你的 cookie 的有效期(以秒为单位)大于你的 session_gc_maxlifetime,phpMyAdmin 会返回一个警告:

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

session_gc_maxlifetime 位于您的 php.ini,如果出现上述警告,请更改它并重新启动您的网络服务器。

【讨论】:

这正是我正在寻找的!非常感谢!【参考方案5】:

您可以完全避免 cookie 身份验证并使用

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

phpmyadmin 文件夹下的config.inc.php 文件中。

这将使您永远保持登录状态。

【讨论】:

【参考方案6】:

寻找这个:

ini_set('session.gc_maxlifetime', '3600');

根据 cmets - 您可以在 php.ini 文件中找到它或在您设置会话的脚本中运行上述语句

【讨论】:

你能指定在哪里可以找到它吗? @user225269:您可以在php.ini 文件中找到它,或者在您设置会话的脚本中运行上述语句。 @Sarfraz 所以我可以在主 phpmyadmin 文件中的某个位置设置它,以便在加载时使用这些设置?

以上是关于如何在 phpmyadmin 中更改时间限制(登录)的主要内容,如果未能解决你的问题,请参考以下文章

如何限制对 phpmyadmin 的访问? [复制]

如何限制对 phpMyAdmin 中特定数据库用户帐户的访问?

使用 AMPP 在 Mac 上更改了 phpmyadmin 密码,现在无法登录 phpmyadmin

phpmyadmin 自动注销时间

无论我更改了多少文件,phpmyadmin登录都不起作用

phpmyadmin取消最大文件限制的更改解决方法