phpmyadmin令牌长时间闲置不匹配

我在本地开发环境中安装了phpMyAdmin 4.0.4.1 ,我将auth_type设置为config 。 另外我通过这个设置提供authentication要求:

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

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

在这里输入图像说明

上图显示错误。

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

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

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

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

祝你好运。

在文件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; } 

对我来说,这似乎是由我的根分区已满,我猜这个错误是由PHP无法写入会话目录引发的。

我不得不在我的浏览器中打开我的cookies,并为我工作。 (在OSX上使用MAMP)

在完成了这里和其他地方推荐的所有这些之后,我发现我的/ tmp已经满了

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

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

在我的情况下,我不得不删除一些文件,以在这个目录(\ tmp)中留出一些空间,现在错误消失了。

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