如何手动设置phpMyAdmin登录cookie的有效时间

pro*_*het 7 phpmyadmin

在phpMyAdmin中,我将"登录cookie有效期"设置为1秒.可以想象,它现在在登录1秒后抛弃了我.我无法在phpMyAdmin中快速更改它,所以我需要手动替代.

我不想重新安装phpMyAdmin,因为我将丢失所有数据库.我也无法长时间登录以导出它们.有没有办法手动执行操作?

我已经尝试设置session.gc_maxlifetime86400我的php.ini文件,但它没有采取任何行动.

Fra*_*ula 12

在您的config.inc.php文件中设置登录cookie有效期和会话最大生命周期,以便您不会收到以下警告:

您的PHP参数session.gc_maxlifetime低于phpMyAdmin中配置的cookie有效期,因此,您的登录可能会比在phpMyAdmin中配置的更早到期.

所以把它放在你的config.inc.php文件中,你会没事的(根据你的需要改变时间):

$sessionValidity = 3600 * 24 * 365; // one year

$cfg['LoginCookieValidity'] = $sessionValidity;
ini_set('session.gc_maxlifetime', $sessionValidity);
Run Code Online (Sandbox Code Playgroud)

同时检查数据库,可能值得临时禁用它,以便那里的设置不会覆盖config.inc.php文件中的设置.

  • 好的。只需确保在第二行中,在 ini_set 调用中将 $sessionValidity 值转换为字符串: strval($sessionValidity) 或 (string)$sessionValidity (2认同)

Isa*_*tch 2

根据您的问题,听起来您是通过 phpMyAdmin 中的“设置”选项卡更改了它。如果您配置了 phpMyAdmin 配置存储,该设置将存储在那里,如果没有,它只是存储在您的浏览器会话中,因此从另一个浏览器访问或使该会话过期/删除 cookie 应该可以做到这一点。如果它位于 phpMyAdmin 配置存储数据库中,您有两种方法可以绕过它。

  1. 禁用数据库。编辑config.inc.php并临时注释掉有关 的行$cfg['Servers'][$i]['userconfig']。登录,打开 phpMyAdmin 数据库(默认情况下可能称为phpmyadmin)并编辑 userconfig 表(默认情况下pma__userconfig)。您可以单击以编辑列中的相应值config_data,或者完全删除该行以重置所有首选项。
  2. 从命令行(或任何其他 MySQL 管理工具)登录,打开 phpMyAdmin 数据库(默认情况下可能称为phpmyadmin)并编辑 userconfig 表(默认情况下pma__userconfig)。您可以编辑列中的相应值config_data,或者完全删除该行以重置所有首选项。这将需要一点 SQL 能力(不是很多),因此可能第一种方法更容易,除非您熟悉 MySQL 命令行界面。

当然,首先适用有关备份的标准免责声明。