【问题标题】:PHPMyAdmin automatic session destroy issuePHPMyAdmin 自动会话销毁问题
【发布时间】:2016-01-03 16:07:45
【问题描述】:

我正在使用带有 LAMP 的 Ubuntu 服务器,并安装了 phpMyadmin 来管理数据库。默认情况下 phpmyadmin 会话在 1440 秒后销毁。

我浏览过不同的在线教程和论坛,但没有一种方法有效。

【问题讨论】:

    标签: session ubuntu phpmyadmin


    【解决方案1】:

    根据documentation

    • 编辑 phpMyAdmin config.inc.php 并添加(或编辑)$cfg['LoginCookieValidity'] 指令,例如 $cfg['LoginCookieValidity'] = 10080
    • 编辑 PHP 配置文件 php.ini(确保编辑正确的;您可以使用 phpinfo() 定位正确的位置)并将 session.gc_maxlifetime 的时间延长到至少与 LoginCookieValidity 相同的值.

    编辑

    您不想更改所有应用程序的session.gc_maxlifetime,但仍有希望。由于您使用的是 Apache,并且如果您的 Apache 配置中相应的 <Directory> 条目包含 AllowOverride Options(或 AllowOverride All),那么您应该能够基于每个应用程序进行配置,以仅影响 phpMyAdmin。

    您需要在 phpMyAdmin 目录的顶层创建一个 .htaccess 文件,并包含如下行:

    php_value session.gc_maxlifetime 10080
    

    这将强制仅对该文件夹(和子目录)进行修改设置,因此只要它位于您的 phpMyAdmin 文件夹中,它只会影响 phpMyAdmin 应用程序。

    如果您愿意,您应该能够创建(或修改)Apache 虚拟主机并直接在 Apache 配置中编辑 PHP 设置;配置指令将完全相同,

    php_value session.gc_maxlifetime 10080
    

    这些方法只有在AllowOverride 指令设置为AllOptions 时才有效; None 等较小的设置将不允许这些更改。

    More details.

    【讨论】:

    • 感谢您的努力,但我不想更改默认的 php 会话超时/cookie 销毁时间,因为它会影响我服务器上运行的所有其他网站。我只想为 PHPMyAdmin 更改它
    • 不幸的是,PHP 会话会覆盖您在 phpMyAdmin 中设置的任何内容,这是有充分理由的——应用程序不应设置比系​​统管理员规定的更高的资源限制。根据您的网络服务器配置,您可能被允许仅为 phpMyAdmin 文件夹设置 gc_maxlifetime 值。我将修改我的答案以包含更多详细信息。
    • 我也面临同样的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    相关资源
    最近更新 更多