是否有办法在phpMyAdmin 4.6中永久保持登录状态?
以前的版本很容易编辑,但是这个版本有多个配置文件,分布在Ubuntu的多个文件夹中。
我想在我的VirtualBox中拥有这样的功能,因此这里不必担心安全性。
如果您以同一用户身份登录并且不需要拥有多个用户帐户,则可能最适合于更改为'config'authentication type。
听起来您正在使用Ubuntu打包版本(或phpMyAdmin PPA),在这种情况下,主配置文件为/etc/phpmyadmin/config.inc.php
。那里还包含其他文件,例如河豚鱼密钥,这些文件在安装时会自动设置,通常不需要手动管理。您可以编辑该文件并查找类似[]的行
$cfg['Servers'][$i]['auth_type'] = 'cookie';
并将其更改为
$cfg['Servers'][$i]['auth_type'] = 'config';
如果该行不存在,只需添加配置行(默认为cookie),因此Ubuntu可能不会设置它。
您还需要在配置中添加用户名和密码作为硬编码值:
$cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'yourPassword';
当然,如果您具有root用户以外的用户,则可以在其中使用该用户名,并在适当的位置替换您的密码。
如果这对您没有吸引力,则您必须增加Cookie会话过期之前的时间。因为PHP会进行一些垃圾回收并删除旧的会话,所以您必须告诉phpMyAdmin和PHP留出更多时间。 phpMyAdmin设置为LoginCookieValidty,PHP设置为session.gc_maxlifetime
在/etc/phpmyadmin/config.inc.php
中,您必须添加另一行。我不知道这是否有上限(注释here矛盾地建议65535或更高的值,其中this question显示的值为200000)。您可以尝试将其设置为例如5年,然后看看会发生什么(或更低,更合理的值):
$cfg['LoginCookieValidity'] = 157680000;
[您还必须编辑您的PHP配置文件(如果您的Ubuntu安装与我的Debian安装类似,则可能为/etc/php/7.4/apache2/php.ini
,如果您不使用Apache或使用其他PHP版本,当然可以进行调整)。我的已经具有默认值
session.gc_maxlifetime = 1440
因此您可以将其更改为
session.gc_maxlifetime = 157680000
请注意,这两个值的上限可能取决于您的系统体系结构和某些我在任何地方都找不到的PHP限制,因此可能需要做一些实验才能找到可以正常使用的高值。