您没有足够的权限访问此页面而不进行任何更改[关闭]
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_prefix
是wp_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_name
或 meta_key
错误,请修复它们并重试。如果您找到它们,请将内容粘贴到此处。
我向您寻求帮助的解决方案thanx。事实上的问题是,更新后,一行没有受到影响,它仍然是旧的前缀,奇怪但真实,所以我手动更改了它,我得到了我的结果。问候和感谢
如果选项中出现前缀,最好添加WHERE option_name like 'wp_%'
。
非常感谢。效果很好!!!以上是关于您没有足够的权限访问此页面而不进行任何更改[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
你没有足够的权限为这台机器的所有用户.完成此安装.请以管理员身份登陆然后重试此安装.是啥意思啊
无法访问 IIS 元数据库。您没有足够的权限访问您计算机上的 IIS 网站。视觉工作室 2015