phpmyadmin令牌不匹配,长时间闲置

Ara*_*avi 29 php apache session phpmyadmin session-cookies

我安装phpMyAdmin 4.0.4.1在我当地的开发环境中,我设置auth_typeconfig.此外,我通过此设置提供身份验证要求:

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['password'] = 'somepassword';
Run Code Online (Sandbox Code Playgroud)

但过了一段时间,它是空闲的,如果我点击它的任何链接,它会显示一个错误token mismatch,有没有办法增加它的TTL?还是永久地活着?

在此输入图像描述

上图显示错误.

jma*_*eli 41

我按照以下说明解决了这个恼人的问题:

  1. 打开 /etc/php5/apache2/php.ini
  2. 发现;session.save_path = "/tmp",这条线看起来也像这样;session.save_path = "/var/lib/php5"
  3. 从此行中删除第一个分号
  4. 通过执行重启apache sudo service apache2 restart

仅供参考:我使用apache2,php5,phpMyAdmin 4.0.5在Ubuntu 12.04下工作,因此对于不同的系统和服务器文件路径可能会有所不同.

如果有任何问题,请检查步骤中的目录2.是否可写入服务器.

祝好运.

  • @Programster Ubuntu在`/ etc/cron.d/php5`中有一个清理脚本,删除`/ var/lib/php5`中的文件:更改`session.save_path`绕过清理脚本 (2认同)

小智 9

在文件中 libraries/common.inc.php

第1076行
删除此部分

 /*
 * There is no point in even attempting to process
 * an ajax request if there is a token mismatch
 */
 if (isset($response) && $response->isAjax() && $token_mismatch) {
    $response->isSuccess(false);
    $response->addJSON(
        'message',
        PMA_Message::error(__('Error: Token mismatch'))
    );
    exit;
}
Run Code Online (Sandbox Code Playgroud)

  • 最好在$'token_mismatch =($ _SESSION ['PMA_token']!= $ _REQUEST ['token'])之后测试(在第487行之后)将$ token_mismatch设置为false (在IF声明之后) (2认同)
  • 你在哪里找到`libraries/common.inc.php` (2认同)