首页 文章

phpmyadmin在1440秒后退出

提问于
浏览
123

在我的本地开发Ubuntu框中,我使用MySQL和phpmyadmin来处理数据库 .

每当phpmyadmin闲置1440秒(24分钟)时,会话就会到期 . 我失去了我的位置,必须登录并重新开始 .

我尝试在 config.inc.php 内更改 $cfg['LoginCookieValidity'] = 3600 * 9; 但它仍然在1440秒内超时 .

我重新启动了所有内容并清除了浏览器缓存(Firefox历史记录 - >清除最近的历史记录 - >缓存 - >所有内容) .

我不确定为什么增加的超时不会生效 . 我究竟做错了什么?

21 回答

  • 16

    从wampicon / php / php更改php.in文件

    session.gc_maxlifetime = 1440
    

    session.gc_maxlifetime = 43200
    
  • 4

    要永久设置Cookie,您需要执行一些步骤

    转到 - > /etc/phpmyadmin/config.inc.php 文件

    添加此代码

    $cfg['LoginCookieValidity'] = <cookie expiration time in seconds >
    
  • 1

    在浏览器中转到PHPMyAdmin

    设置>功能>更改登录cookie有效期的值>保存

  • 0

    将此行添加到/config.inc.php:

    $cfg['LoginCookieValidity'] = 36000;
    

    在/setup/lib/index.lib.php中

    $cf->getValue('LoginCookieValidity') > 36000;
    

    如果您还没有phpMyAdmin站点的.htaccess文件,请创建一个,然后添加以下行以覆盖默认的PHP会话超时:

    php_value session.gc_maxlifetime 36000
    

    我不建议在主php.ini文件中更改此值,因为它将允许所有PHP站点的超长会话超时 .

    来源:http://www.sitekickr.com/blog/increase-phpmyadmin-timeout/

  • 5

    我们可以在以下位置更改Cookie时间会话功能:

    设置 - >功能 - >常规 - >登录cookie有效期

    我在这里找到答案.. No activity within 1440 seconds; please log in again

  • 5

    您可以在phpmyadmin Web界面更改cookie时间会话功能

    Settings->Features->General->Login cookie validity
    

    要么

    如果要更改配置文件中的'login cookie validity',请在PHPMyAdmin的根目录中打开phpmMyAdmin配置文件 config.inc.php . (根目录通常是/ etc / phpmyadmin /)

    找到config.inc.php后,搜索下面的行并将其设置为您希望phpmyadmin超时的秒值:

    $cfg['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
    

    phpMyAdmin Documentation on LoginCookieValidity

    $ CFG [ 'LoginCookieValidity']

    类型:整数[秒数]
    默认值:1440

    定义登录cookie的有效期 . 请注意,php配置选项session.gc_maxlifetime可能会限制会话有效性,如果会话丢失,登录cookie也会失效 . 因此,将session.gc_maxlifetime至少设置为$ cfg ['LoginCookieValidity']的相同值是个好主意 .

    注意:

    • 如果您的服务器崩溃且无法加载您的phpmyadmin页面,请检查您的apache日志/var/log/apache2/error.log . 如果您在第135行获得了 PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.php ,那么请执行 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 .

  • 47

    似乎有用于更改phpmyadmin配置的UI启动apache并单击以下链接

    http://localhost/phpmyadmin/setup/index.php?page=form&formset=Features#tab_Security

  • 62

    使用phpMyAdmin设置执行此操作的步骤没有任何问题或要求更改php my.ini中的配置或定义.htaccess文件:

    • 转到您的 phpmyadmin 路径并在其子文件夹(我的4.4.9版本中的 phpMyAdmin/sql/create_tables.sql )中找到 create_tables.sql 并从您的网络浏览器在您当前的phpMyAdmin网站上执行整个文件内容 . 这将创建一个名为 phpmyadmin 的数据库,它可以永久保存所有phpMyAdmin选项 .

    • 在phpMyAdmin的_2359449中找到注释行 $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; 并取消注释(现在phpMyAdmin将使用我们在上一步中生成的自定义数据库) .

    • 从网络浏览器转到 phpMyAdmin 并按照Pavnish描述的图片转到 Server >> Settings >> Features >> "Login Cookie Validity" 并设置所需的值 . 它现在有效 .

    参考文献:Niccolas AnswerPhpMyAdmin Configuration StorageflashMarks Answer

  • 22

    你应该重启apache或httpd,而不是mysqld

    sudo service httpd restart
    

    要么

    sudo /etc/init.d/apache2 restart
    
  • 13

    然后,您将收到另一个警告:“您的PHP参数session.gc_maxlifetime低于phpMyAdmin中配置的cookie有效性,因此,您的登录将比在phpMyAdmin中配置的更早到期 . ”这是有道理的,因为php的会话将首先超时 . 所以我们需要更改/etc/php.ini .

    session.gc_maxlifetime = 43200
    That’s 12 hours in seconds.
    

    Restart your apache server and you are done!

    来源:http://birdchan.com/home/2011/06/06/phpmyadmin-timeout-after-1440-seconds/

    这对我有用! :)

  • 7

    1)登录phpMyAdmin 2)在主屏幕上点击“更多设置”(屏幕中间的底部)3)点击屏幕顶部的“功能”选项卡/按钮 . 4)在20天内设置“登录cookie”有效期“设置为1728000 5”申请 .

    php xampp

  • 6

    您只需增加phpMyAdmin会话超时,在根phpMyAdmin目录中打开config.inc.php并添加此行 .

    from the wamp folder path wamp \ apps \ phpmyadmin4.0.4 \ config.inc.php

    $cfg['LoginCookieValidity'] = <your_timeout>;
    

    Example

    $cfg['LoginCookieValidity'] = '1440';
    

    Note: 短cookie生命周期对于开发服务器而言并不适合您的 生产环境 服务器 .

  • 5

    它不起作用 . PHP会话将在1440秒后过期 .

    这也改变了 PHP.ini

    session.gc_maxlifetime = 3600
    

    http://www.phpmyadmin.net/documentation/Documentation.html#config

    另外,来自 PHP.ini

    如果您使用子目录选项存储会话文件

    ; (参见上面的session.save_path),然后垃圾收集没有

    ;自动发生 . 你需要自己做垃圾

    ;通过shell脚本,cron条目或其他方法收集 .

    ;例如,以下脚本相当于

    ;将session.gc_maxlifetime设置为1440(1440秒= 24分钟):

    ; cd / path / to / sessions;找-cmin 24 | xargs rm

  • 185

    如果参数 $cfg['LoginCookieValidity']config.inc.php 文件中没有生效,请尝试通过在左侧添加分号来禁用php.ini文件中的 session.gc_maxlifetime

    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    ; http://php.net/session.gc-maxlifetime
    ; session.gc_maxlifetime = 1440
    

    或者尝试通过注释两者来禁用 $cfg['LoginCookieValidity']session.gc_maxlifetime = 1440 .

    然后当您空闲时,phpMyAdmin不应再注销 . 它适用于Windows . 不要忘记清除浏览器缓存并重新启动网络服务器 .

  • 4

    更改cookie过期的步骤

    第1步:转到Phpmyadmin的设置

    第2步:一般

    第3步:登录cookie有效期

    步骤4:使用新值更新1440秒默认Cookie到期时间

  • 7

    如果您有phpmyadmin configuration storage设置,则设置将从您的phpmyadmin.pma__userconfig表中提取出来,并将覆盖您在config.inc.php中拥有的任何内容 . 在此表中,可以为每个MYSQL用户分配一组不同的phpmyadmin设置 .

  • 2

    我已经找到了解决方案并且现在已成功使用它 .

    只需将此Addon安装到您的FF浏览器即可 .

  • 1

    在我尝试了所有建议的方法并且仍然保持注销后,我转向为Tampermonkey编写一个小的usercsript,因为我已经有了这个扩展名 . 它非常简单,只需每分钟向PHPMyAdmin的一个低占用脚本发送一个请求 . 这是代码:

    // ==UserScript==
    // @name         PHPMyAdmin Keep Session Alive
    // @namespace    https://www.bitwizeor.io/
    // @version      0.1
    // @description  No more nasty PHPMyAdmin session expiries
    // @match        http://localhost/phpmyadmin/*
    // ==/UserScript==
    
    (function() {
        'use strict';
        console.log('PHPMyAdmin Keep Session Alive activated');
        var url;
        window.setInterval(function(){
            url = $("#serverinfo a:eq(1)").prop("href");
            url += '&ajax_request=true&ajax_page_request=true';
            $.getJSON(url);
            console.log('pinging ...');
        }, 60000);
    })();
    
  • 0

    我之后对我有用

    • (phpmyadmin folder)/libraries/config.default.php 中的 $cfg['LoginCookieValidity'] 更改为 999999999 .

    • 检查了phpmyadmin使用的 php.ini php5 -i | grep php.ini .

    • 转到 php.ini 文件,该文件的路径来自grep命令输出,并将 session.gc_maxlifetime 值更改为 999999999 .

    • 重启了服务器 . 就我而言,它是 sudo service apache2 restart .

    完成 . 登录phpmyadmin并在设置 - >功能 - >常规 - >登录cookie有效性中检查cookie有效性 . 这是 999999999 . 也没有警告"Your PHP parameter session.gc_maxlifetime is lower that cookie validity ..." . 我在更改 php.ini 文件之前登录phpmyadmin后显示警告 .

    检查phpmyadmin使用的php版本 . 你应该更改phpmyadmin使用的php的ini文件 . 我安装了php5和php(即7) . 但我的phpmyadmin使用php5 . 所以我不得不搜索php5的ini文件 .

  • 7

    ===方法1,http登录===

    [php.ini]
    session.gc_maxlifetime = 86400
    
    [config.inc.php]
    
    $cfg['Servers'][$i]['auth_type']     = 'http';
    

    ===方法2,使用cookie登录===

    [php.ini]
    
    session.gc_maxlifetime = 86400
    
    [config.inc.php]
    
    $cfg['Servers'][$i]['auth_type']     = 'cookie';
    
    $cfg['Servers'][$i]['LoginCookieValidity'] = 86400;
    
    $cfg['Servers'][$i]['pmadb']         = 'phpmyadmin';
    
    $cfg['Servers'][$i]['controluser']   = 'phpmyadmin_pma';
    
    $cfg['Servers'][$i]['controlpass']   = 'nigookike';
    
    $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // there's a lot of other table required for full functionality,
                                                                             // all others can be left out unconfig except this one
    
    [mysql]
    -import phpMyAdmin/sql/create_tables.sql
    
    -grant PRIVILEGES to phpmyadmin_pma as below
    
    db/table
    
    phpmyadmin  ALL PRIVILEGES 
    
    mysql/db    SELECT
    
    mysql/host  SELECT
    
    mysql/tables_priv   USAGE
    
    mysql/user  USAGE
    
    
    -clear all entries should old one exists
    
    phpmyadmin/pma__userconfig
    
    [webUI]
    
    -clear broswer cookie
    
    -as normal mysql user, access http://mysql/phpmyadmin , at the bottom of page:
    
        The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. [Find out why.]
    
    -near top of the page
    
        [Create missing phpMyAdmin configuration storage tables.]
    
    -access http://mysql/phpmyadmin > settings > features > Login cookie validity > 86400 > [apply]
    
    -check phpmyadmin/pma__userconfig contain new entries of aforemention mysql user
    

    注:

    • 每个用户都有独立的设置,并且必须为每个用户重复[webUI]程序

    • 如果“phpMyAdmin配置存储未完全配置,则某些扩展功能已停用 . [找出原因 . ]”

    链接没有出现在首页,去设置>功能>警告>缺少phpMyAdmin配置存储表> [刷新]几次将使它出现

  • 0

    我知道这是一个老帖子,但我尝试了我读过的每个解决方案,包括这个页面上的那些无济于事,然后我很幸运,所以我在这里发布它 .

    我正在运行Ubuntu 17.10 .

    我存档/etc/phpmyadmin/config.inc.php并将其内容替换为/usr/share/phpmyadmin/config.sample.inc.php的内容 .

    然后我

    1) Enabled (uncommented) all the options under "Storage database and tables"; 
     2) Included "ini_set('session.gc_maxlifetime', 86400);" underneath the uncommented items; and 
     3) Provided a 32 character sequence for the $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */, which is above the uncommented items.
    

    我保存了文件并重新启动了phpMyAdmin .

    我选择了Server:localhost - > Settings - > Features并将“Login cookie validity”的值更改为86400(24小时) . 请注意,您指定的任何非默认值都将导致此选项的背景颜色变为黄色,因此不要惊慌 . 该值应小于或等于config.inc.php中使用的值 .

    我保存了设置,退出并重新启动了phpMyAdmin .

    最后,所有消息都消失了 . 我的会话根据设置(在这种情况下全天)保持活动状态,并记住我的设置 .

    我当然希望这有助于某人 . 对我来说,处理和解决是令人沮丧的 .

相关问题