我使用phpmyadmin创建mysql数据库。我已在 config.inc.php 中将身份验证类型设置为 cookie。 如何更改时间限制,以便即使我登录后闲置数小时也不需要我再次登录。
我知道这个问题已经过时了,但上面的“选定”答案实际上不起作用。这只是设置会话数据被删除之前的时间。
尝试此操作并意识到它失败后,我花了一些时间阅读 phpmyadmin 文档并发现了这一点:
$cfg['LoginCookieValidity'] = 86400;
$cfg['LoginCookieStore'] = 0;
第一行是自动注销之前的时间量。这些值需要在 phpmyadmin 安装文件夹中的文件
config.inc.php
. 中设置
它们根本不存在于我的文件中,但将它们添加到底部后它可以正常工作。第一个变量定义了您注销之前的时间(以秒为单位) - 我将我的设置为 1 天。第二个变量是 cookie 的持续时间。 0 表示 cookie 将持续到您关闭浏览器为止。
设置这两个变量就会达到预期的效果。您可以将两者设置为某个疯狂的数字并且从不登录,但这将非常不安全。
Ubuntu 的快速解决方案:
// 编辑
php.ini
并查找 session.gc_maxlifetime
//设置为24小时
session.gc_maxlifetime = 86400
// 编辑
config.inc.php
并查找 $cfg['LoginCookieValidity']
//设置为24小时
$cfg['LoginCookieValidity'] = 86400;
//重启网络服务器
sudo 服务 apache2 重新启动
在我的例子(4.3.8)中只需将
config.inc.php
cookie
替换为 config
并添加如下两行:
/*
* 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
我终于找到了窍门,假设你至少有 4.3.X 版本:
首先,登录phpMyAdmin,登录后,点击Databases(位于顶部菜单)
然后在输入文本创建数据库上,插入phpmyadmin并点击创建(您可以选择您想要的字符集,这是可选的)
创建数据库后,在列表中单击它(应该与您的其他数据库一起出现)
单击 SQL 并插入位于目录 phpMyAdmin 的 create_tables.sql 的内容:
/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,然后转到 设置 (位于导入和复制之间的顶部菜单),然后单击 功能,您将看到选项:
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,如果出现上述警告,请更改它并重新启动您的网络服务器。
您可以完全避免 cookie 身份验证并使用
$cfg['Servers'][$i]['auth_type'] = 'config';
在
config.inc.php
文件夹下找到的 phpmyadmin
文件中。
这将使您永远保持登录状态。
寻找这个:
ini_set('session.gc_maxlifetime', '3600');
根据评论 - 您可以在 php.ini 文件中找到它,或者在设置会话的脚本中运行上述语句
对于使用虚拟机( homestead / laravel )的 5.2.1 版本
在
phpmyadmin
文件夹中查找
然后复制到此文件
cp config.sample.inc.php to config.inc.php
然后编辑文件
vim config.inc.php
按如下方式编辑该行:
/*
* First server
*/
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['username'] = 'homestead'; //add this line
$cfg['Servers'][$i]['password'] = 'secret'; //add this line