您没有足够的权限访问此页面而没有任何更改

时间:2012-12-11 07:23:21

标签: wordpress ftp admin

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

现在我的网站在前端工作正常,但每次它给我错误信息时都无法访问管理面板:

  

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

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

我该如何解决此问题?

2 个答案:

答案 0 :(得分:88)

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

问题在于WordPress使用$table_prefix变量来形成选项和usermeta键名称,它存储角色和功能信息。因此,一旦更改了前缀,但没有更新数据库,就会出现此错误。以下是如何修复它 - 通过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_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,这不是您的情况),您可以查看以下链接:{{3} }


编辑2:正如@Kasper Souren所指出的,您可能希望在选项UPDATE查询中添加WHERE子句。像这样(不要删除最后%}之后的UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}') WHERE option_name like '{%OLD_TABLE_PREFIX%}%'; ):

{{1}}

答案 1 :(得分:-2)

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

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

  2. 您已登录(否则您将被重定向到/ wp-admin)和

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

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