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

时间:2013-08-06 09:33:04

标签: php apache session phpmyadmin session-cookies

我在本地开发环境中安装了phpMyAdmin 4.0.4.1,我将auth_type设置为config。此外,我通过此设置提供身份验证要求:

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['password'] = 'somepassword';

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

enter image description here

上图显示错误。

11 个答案:

答案 0 :(得分:40)

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

  1. 打开/etc/php5/apache2/php.ini
  2. 找到;session.save_path = "/tmp",此行可能看起来也像;session.save_path = "/var/lib/php5"
  3. 从此行删除第一个分号
  4. 执行sudo service apache2 restart
  5. 重启apache

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

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

    祝你好运。

答案 1 :(得分: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;
}

答案 2 :(得分:3)

对我来说,这似乎是由于我的root分区已经满了,我猜这个错误是由于php无法写入会话目录而引发的。

答案 3 :(得分:2)

在完成所有建议并在其他地方取得成功之后,我发现我/ tmp已满

要检查它,只需从命令行运行:df

报告文件系统磁盘空间使用情况。

答案 4 :(得分:2)

我必须在浏览器中打开我的cookie,它对我有用。 (在OSX上使用MAMP)

答案 5 :(得分:1)

在我的情况下,我必须删除一些文件以在此目录(\ tmp)中留出一些空间,并且错误现在已经消失。

答案 6 :(得分:1)

清除浏览器缓存然后它将起作用。

答案 7 :(得分:0)

要停止此问题,请删除“tmp”文件夹并创建一个名为“tmp”的新文件夹,或者只清除内容。

答案 8 :(得分:0)

如果可以,请尝试使用其他浏览器(例如IE),然后删除可疑的chrome扩展名。 先问我pageXray是问题所在。

答案 9 :(得分:0)

已解决的问题- 我刚刚清除了过去7天的浏览历史记录和数据。它为我解决了问题。 试试吧。

答案 10 :(得分:0)

我花了 2-3 天的时间来解决这个问题.. 在堆栈溢出上,但我的案例没有任何可行的解决方案.. 但是 最后.. 我解决了这个烦人的问题,我使用 chrome 从本地主机运行 phpmyadmin 但是从 Firefox 运行后.. 问题就解决了..

所以.. 我认为这是 cookie 问题而不是 PMA 所以.. 你应该尝试使用任何其他浏览器..