如何更改 phpmyadmin 自动注销时间?
它会在 1440 秒后自动注销,这对我来说非常低。如何更改选项或完全删除登录请求?
如何更改 phpmyadmin 自动注销时间?
它会在 1440 秒后自动注销,这对我来说非常低。如何更改选项或完全删除登录请求?
更改 php.ini 将更改服务器上运行的所有网站的会话持续时间。要仅为 PhpMyAdmin 更改它,请打开config.inc.php
并添加:
$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
在 PHPMyAdmin 4 中,这不再出现在 config.inc.php 文件中。而是在浏览器中转到 PHPMyAdmin。确保您处于 localhost 级别以查看“设置”链接。然后设置设置>功能>更改“登录cookie有效性”的值>保存
创建或编辑您的php.ini
文件并在其中设置此变量值:
session.gc_maxlifetime = 1440
整数以秒为单位。500000 秒是 5.7 天。然后重启apache。
您可以在 phpmyadmin Web 界面更改 cookie 时间会话功能
Settings->Features->General->Login cookie validity
或者
如果要更改配置文件中的“登录cookie有效性”,则打开phpmMyAdmin配置文件,config.inc.php
在PHPMyAdmin的根目录下。(根目录通常是/etc/phpmyadmin/)
找到 config.inc.php 后,搜索下面的行并将其设置为您希望 phpmyadmin 超时的秒数:
['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
$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
在第 135 行上,请执行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
仅对于本地安装,您可以完全删除登录和超时 - 这似乎是您所追求的。通过将授权类型更改为“config”并在配置文件中输入您的数据库用户名和密码,您将自动登录。添加到config.inc.php
:
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
当然,如果您在 Internet 上的服务器上执行此操作,一些厚脸皮的家伙会兴高采烈地下载您的所有密码并删除您的网站。这仅适用于在您自己的笔记本电脑上运行的开发服务器。
这些天来自定义 phpmyadmin 的一种更简单的方法是访问http://www.example.com/phpmyadmin/setup/,一次保存所有设置部分,点击底部的保存或下载,将生成的文件复制到您的root phpmyadmin 目录,然后对其进行 chmod。即使它是本地服务器,您也必须关闭写入权限,因为 phpmyadmin 在允许您登录之前会检查这一点。
在 wamp 文件夹中探索目录 'apps\phpmyadmin4.5.2' 并打开 config.inc.php 文件。然后在现有代码下添加这一行。
'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.
就这样...
对于在 Ubuntu 18.04 上运行的phpMyadmin
5.0.2,我将文件编辑如下:
sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php
找到方法public static function getForms()
并添加LoginCookieValidity字段
public static function getForms()
{
$result = [
'General' => [
'VersionCheck',
'NaturalOrder',
'InitialSlidersState',
'LoginCookieValidity', //Added this line if it missing
...........
}
保存文件,现在您将能够从用户界面更改值。
[设置 -> 常规 -> 功能 -> 登录 Cookie 有效性]
Server:localhost -> Settings -> Features -> General -> Login cookie validity
我有 phpmyadmin 4.9.2。并尝试配置 LoginCookieValidity,但我有自动注销 :( 如果您使用本地主机,您可以尝试https://docs.phpmyadmin.net/en/latest/config.html#example-for-ip-address-limited-autologin
if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
$cfg['Servers'][$i]['auth_type'] = 'cookie';
}