您没有足够的权限访问此页面而不进行任何更改[关闭]

Posted

技术标签:

【中文标题】您没有足够的权限访问此页面而不进行任何更改[关闭]【英文标题】:You do not have sufficient permissions to access this page without any change [closed] 【发布时间】:2012-11-28 17:20:59 【问题描述】:

我正在开发 Wordpress,并在本地完成了我的项目。然后我把它移到我的实时服务器上,没有做任何改变,我只是在配置文件(数据库名称、用户名和密码)中进行了更改。

现在我的网站在前端运行良好,但我无法访问管理面板,因为每次它都会给我错误消息:

您没有足够的权限访问此页面。

Google 搜索表明大多数错误是由于前缀的更改而发生的,但在我的情况下,它与本地相同。另外,我的目录的权限是 755,文件的权限是 644,但仍然面临同样的问题。

我该如何解决这个问题?

【问题讨论】:

对此还有另一种解决方案:***.com/questions/4224084/… 另一种解决方案——如果你的表前缀不是wp,而是blabla,那么在blabla_usermeta表中,找到用户 ID,并将 blabla_capabilities (而不是 wp_capabilities )值设置为 a:1:s:13:"administrator";b:1;blabla_user_level 值为 10 好问题;有用的最佳答案。比 wordpress.org 上不连贯的线程要好得多:建议将此问题移至wordpress.stackexchange.com,在那里它可以过上更好的生活。 【参考方案1】:

您的问题与目录权限无关。您看到“您没有足够的权限访问此页面”消息这一事实意味着三件事:

    您正在尝试直接访问管理页面,而不是通过 wp-admin(因此请指明您要访问的管理页面),

    您已经登录(否则您将被重定向到 /wp-admin)并且

    您尝试访问的区域是为更高级别的用户保留的(因此您可能正在连接编辑器帐户,而该区域仅供管理员访问)。

你能告诉我们你的本地数据库和在线数据库是否相同吗?您可以在看到此消息之前正确登录吗?

【讨论】:

我通过输入用户名和密码正确登录,但是当我点击登录按钮时,它转到 profile.php 页面并显示我上面提到的消息,我也是***管理员 使用 WordPress MU(多站点)?您是使用相同的 wp-config.php 并更改了凭据还是使用了另一个 wp-config.php?【参考方案2】:

您是否更改了数据库表的前缀?我有 90% 的把握,这是你的问题。

问题是 WordPress 使用 $table_prefix 变量来形成选项和用户元键名,它存储角色和功能信息。因此,一旦您更改了前缀,但不更新您的数据库,您就会收到此错误。以下是解决方法 - 通过 phpMyAdmin 或其他接口执行此 SQL 命令以与您的数据库交互(您也可以使用 PHP 执行此操作):

UPDATE `%TABLE_PREFIX%usermeta` SET `meta_key` = replace(`meta_key`, '%OLD_TABLE_PREFIX%', '%NEW_TABLE_PREFIX%');
UPDATE `%TABLE_PREFIX%options` SET `option_name` = replace(`option_name`, '%OLD_TABLE_PREFIX%', '%NEW_TABLE_PREFIX%');

地点:

%TABLE_PREFIX% 是您当前的$table_prefix(在wp-config.php 中设置) %OLD_TABLE_PREFIX% 是你以前的$table_prefix %NEW_TABLE_PREFIX% 是您的新(当前)$table_prefix - 它很可能与您的 %TABLE_PREFIX% 相同。

因此,如果您的旧$table_prefixwp_test_,而您的新wp_wp_,您将执行以下查询:

UPDATE `wp_usermeta` SET `meta_key` = replace(`meta_key`, 'wp_test_', 'wp_');
UPDATE `wp_options` SET `option_name` = replace(`option_name`, 'wp_test_', 'wp_');

编辑:正如@Francisco Corrales 所指出的,如果您在访问您创建的管理页面时遇到问题(如果您不编写 PHP,这不是您的情况),您可以查看此链接:Wordpress Error while developing a plugin -"You do not have sufficient permissions to access this page."


编辑 2:正如@Kasper Souren 所指出的,您可能希望将 WHERE 子句添加到选项 UPDATE 查询中。像这样(不要删除最后一个%之后的%):

UPDATE `%TABLE_PREFIX%options` SET `option_name` = replace(`option_name`, '%OLD_TABLE_PREFIX%', '%NEW_TABLE_PREFIX%') WHERE option_name like '%OLD_TABLE_PREFIX%%';

【讨论】:

不,我没有更改前缀。 local 和 live 的前缀是 bt_ 您能否查看您的数据库并检查下表:$table_prefixoptions - 查找与$table_prefixroles 类似的option_name 条目。然后查看$table_prefixusermeta 并查找与meta_key 类似的条目$table_prefixcapabilities$table_prefix 是您的 wp-config.php 中的内容。如果您找不到这些条目,或者它们的 option_namemeta_key 错误,请修复它们并重试。如果您找到它们,请将内容粘贴到此处。 我向您寻求帮助的解决方案thanx。事实上的问题是,更新后,一行没有受到影响,它仍然是旧的前缀,奇怪但真实,所以我手动更改了它,我得到了我的结果。问候和感谢 如果选项中出现前缀,最好添加WHERE option_name like 'wp_%' 非常感谢。效果很好!!!

以上是关于您没有足够的权限访问此页面而不进行任何更改[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

WordPress插件配置没有权限

手机QQ空间访问出现代码403错误怎么办?

你没有足够的权限为这台机器的所有用户.完成此安装.请以管理员身份登陆然后重试此安装.是啥意思啊

无法访问 IIS 元数据库。您没有足够的权限访问您计算机上的 IIS 网站。视觉工作室 2015

您不具有对数据库的独占访问权限这一次。如果继续进行更改,您可能无法将其保存

无法绑定到 8080 端口。它可能被另一个应用程序占用或您没有足够的权限