【问题标题】:"Error: Token Mismatch" After adding a 2nd server to phpMyAdmin“错误:令牌不匹配”将第二台服务器添加到 phpMyAdmin 后
【发布时间】:2018-08-13 18:23:44
【问题描述】:

我已经搜索并尝试解决此问题大约 3 周。我难住了。请帮忙!

我通过将以下行添加到安装目录中“config.inc.php”文件的末尾,向 phpMyAdmin 添加了第二台服务器。

$i++;
$cfg['Servers'][$i]['verbose'] = '<SERVER 2 NAME REDACTED>';
$cfg['Servers'][$i]['host'] = '<SERVER 2 ADDRESS REDACTED>.rds.amazonaws.com';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['Servers'][$i]['ssl'] = false;

添加此服务器后,在登录到服务器 #2 时运行某些 SQL 查询或执行某些操作时,我们开始随机弹出“错误:令牌不匹配”。多年来,我们从未在我们设置的第一台服务器上得到它,我将所有服务器配置设置与第一台服务器的设置相匹配。该问题不是 100% 可通过 SQL 查询重现,但当我尝试通过 phpMyAdmin 的用户创建页面将用户添加到数据库时,它似乎是 100% 可重现的。

步骤:

  1. 登录(在“服务器选择”下拉菜单中选择服务器#2)
  2. 点击页面顶部的“用户”标签
  3. 点击“添加用户”链接
  4. 填写必填字段并点击“开始”

此时我总是收到“错误:令牌不匹配”弹出窗口。

到目前为止我尝试过的事情:

  • 清除缓存/cookies(我每次更改设置时都会这样做)
  • 使用不同的浏览器(尝试过 Chrome、Firefox 和 Safari)
  • 在 php.ini 文件中将“;session.save_path”变量更改为“/tmp”
  • 在会话保存目录上执行“chmod 1733”
  • 确保有可用空间(19GB 可用)

在这一切之后,我们仍然得到错误。

软件:

PHP:5.3.29
阿帕奇:2.2.23(亚马逊)
SQL 类型:10.1.23-MariaDB
数据库客户端版本:libmysql - 5.5.24
PHP 扩展:mysqli
phpMyAdmin:4.2.2

硬件:

phpMyadmin 服务器硬件:Amazon EC2 m3.large
SQL 数据库服务器硬件:db.m4.2xlarge

非常感谢您提供任何关于去处或尝试的建议。

【问题讨论】:

  • OP here...为了清楚起见,我的问题是“是什么导致了'错误:令牌不匹配'弹出窗口,我该如何解决?”。

标签: session cookies phpmyadmin token mismatch


【解决方案1】:

引起我注意的一件事是您提到了;session.save_path 变量;它前面的分号是注释,因此要识别该指令,您必须删除分号。检查 phpinfo.php 的输出以验证更改是否成功。

除此之外,很难猜测。您使用的是旧的 PHP 和旧的 phpMyAdmin 版本,所以我并不是说升级会或不会解决问题,但您确实应该升级。

一种解决方法是安装两个 phpMyAdmin;您可以将 phpMyAdmin 放在两个不同的文件夹中,每个文件夹指向不同的 MySQL 服务器。听起来它在一台服务器上运行良好,所以如果你这样做,每个实例将只有一台服务器,希望你不会遇到问题。

【讨论】:

  • Isaac Bennetch,这都是非常有用的信息,它给了我更多的想法和东西要看。 phpinfo.php 页面显示我的“session.save_path”确实是“/tmp”,但我想我会听从你的建议,只是为第二个数据库设置第二个服务器。我以前什至没有考虑过这是一种选择。谢谢您的帮助!将此标记为答案。
猜你喜欢
  • 2013-08-23
  • 2013-12-25
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 2021-07-10
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多