移动 Wordpress 后,登录有效,但不再有管理员访问权限

After moving Wordpress, login works, but no admin access anymore

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

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

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

这是我的问题。

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

Sorry, you are not allowed to access this page.

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

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

听起来您的问题出在手动创建的管理员帐户上。您看到的错误消息向我表明分配给用户的权限存在问题。

你能告诉我更多关于你手动添加帐户的步骤吗?

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

举个例子,如果我要创建一个用户,我会 运行 一个查询来将用户插入 wp_users table(当然假设我们'重新使用标准 table 前缀)。

然后我将获取我新创建的用户的 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/

事实证明,这是 Wordpress 4.6.1 中使用您自己的 DB table 名称前缀时的错误。

重命名为 wp_ 前缀并更改 table 名称,它可以工作。

这可能是因为您手动更改了 table 名称,然后出现此错误。 所以还要将 table 前缀更改为 'meta_key' 列

中的 'usermeta' table

previousprefixthatyouchangeinnew_ to

  • yourPrefix_capability
  • yourprefix_user_level
  • yourprefix_user-settings
  • yourprefix_user-settings-次

您的问题已解决。

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

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

我原来的数据库前缀是 wp_71XXXXXX28_,在新安装中,我使用的是 wp_。改前缀只解决了数据部分,登录问题还是和你一样。

所以,我只是简单地使用 phpmyadmin 搜索选项搜索所有表中的旧前缀 wp_71XXXXXX28_ 并将记录更改为 wp_.

注意:我在 wp_user 中找到了 5-6 个匹配项,在 wp_option 中找到了 1 个匹配项,你的可能会有所不同!

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

迁移后我也遇到过这个消息。

似乎数据库前缀区分大小写,如果不完全匹配,这就是尝试访问管理页面时弹出的内容。

确保检查 config.php 并将其设置为与 table 前缀完全相同。

如果您使用 phpMyAdmin 检查 tables,您应该注意到数据库树中的所有 table 名称都以小写显示,而在我的例子中,预期的前缀全部为大写.


phpMyAdmin 图片:phpMyAdmin

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

我使用“

_usermeta”table 来获得预期的前缀 WP。

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

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