移动Wordpress后,登录工作,但不再有管理员权限

时间:2016-09-11 07:01:32

标签: php wordpress wordpress-login

将wordpress从旧的ISP转移到新的ISP后,我在管理员访问/访问仪表板时遇到问题。

通过将所有文件(包括.htaccess)从旧服务器复制到新服务器,转储旧数据库并将其放在新服务器上并在wp-config.php中调整数据库的所有设置来完成传输。

通过在我的机器上设置主机条目,我可以验证一切正常,所有内容都会显示。

这是我的问题。

使用新旧凭据(例如手动添加管理员帐户)登录wp-login.php后,登录正在进行,将我重定向到网站,通过页面顶部的登录栏说明成功登录,但是说明禁止访问仪表板。

Sorry, you are not allowed to access this page.

除了转到wordpress.com或注销外,登录栏几乎没有其他选项。

这可能只是一件小事,我只需要有人指出我正确的方向。

7 个答案:

答案 0 :(得分:17)

为我找到了完美的解决方案。

问题不在于将数据库迁移到新服务器,但是,如果迁移前缀在旧数据库和新数据库中不同,则会出现问题!

我的原始数据库前缀类似于 wp_71XXXXXX28 _ ,在新安装中,我使用的是 wp _ 。更改前缀只是解决数据部分,但仍然存在登录问题。

所以,我只是使用phpmyadmin搜索选项为 wp_71XXXXXX28 _ 搜索所有表格中的旧前缀,并将记录更改为 wp _

注意:我在 wp_user 中找到5-6场比赛,在 wp_option 中找到1场比赛,你的可能会有所不同!

答案 1 :(得分:7)

听起来您的问题在于手动创建的管理员帐户。您看到的错误消息告诉我,分配给用户的权限存在问题。

您能告诉我有关手动添加帐户的步骤的更多信息吗?

我猜你是直接将用户添加到users表中,但是这样做之后,你是否将功能和用户级别信息添加到usermeta表中?

举个例子,如果我正在创建一个用户,我会运行一个查询,将用户插入wp_users表(假设我们当然是标准表前缀)。

然后我会获取新创建的用户的ID,并使用它在wp_usermeta中插入两个新行。

umeta_id应为NULL,user_id应为两个条目的新用户的ID。

1)
meta_key: wp_capabilities
meta_value: a:1:{s:13:"administrator";s:1:"1";}

2)
meta_key: wp_user_level
meta_value: 10

进一步阅读:http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/

答案 2 :(得分:7)

这可能是因为您手动更改了表名,然后显示此错误。 所以也将表格前缀更改为“用户名”'表格中的meta_key'柱

previousprefixthatyouchangeinnew_ to

  • yourPrefix_capability
  • yourprefix_user_level
  • yourprefix_user-设置
  • yourprefix_user - 设置 - 时间

你的问题已经解决了。

答案 3 :(得分:6)

当使用您自己的数据库表名前缀时,原来这是Wordpress 4.6.1中的一个错误。

重命名为wp_前缀并更改表名,它可以正常工作。

答案 4 :(得分:2)

迁移后我也遇到过此消息。

似乎数据库前缀区分大小写,如果它不完全匹配,则会在尝试访问管理页面时弹出。

确保检查config.php并将其设置为表格前缀。

如果使用phpMyAdmin检查表,则应注意数据库树中的所有表名都以小写形式显示,而在我的情况下,预期的前缀都是大写的。

phpMyAdmin图片:phpMyAdmin

图像中的右前缀是应该使用的前缀。

我使用“< prefix> _usermeta”表来获取WP预期的前缀。

答案 5 :(得分:1)

对于在我的情况下仍在寻找正确答案的任何人,这是我解决无法登录WordPress仪表板的问题的方法。

在“ wp_user_roles”选项名称下的数据库“ wp_options”表中,所有标准功能都丢失了。从数据库备份或从干净的​​WordPress数据库复制这些功能。

答案 6 :(得分:0)

使用搜索&替换原始wordpress站点的转储.sql文件以在新的wordpress站点上使用它,确保您覆盖所有。 我遇到了同样的问题并检查了wp_usermeta表,在meta_key列中我发现了一些以旧表前缀命名的键。更换它们解决了我的问题。