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

问题描述 投票:0回答:2

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

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

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

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

我该如何解决这个问题?

wordpress ftp admin
2个回答
93
投票

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

问题是 WordPress 使用

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

UPDATE `{%TABLE_PREFIX%}usermeta` SET `meta_key` = replace(`meta_key`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}') WHERE option_name like '{%OLD_TABLE_PREFIX%}%';
UPDATE `{%TABLE_PREFIX%}options` SET `option_name` = replace(`option_name`, '{%OLD_TABLE_PREFIX%}', '{%NEW_TABLE_PREFIX%}') WHERE option_name like '{%OLD_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_
,您将执行以下查询:

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

编辑:正如 @Francisco Corrales 指出的,如果您在访问您创建的管理页面时遇到问题(如果您不编写 PHP,这不是您的情况),您可以查看此链接:Wordpress 开发时出错插件 -“您没有足够的权限访问此页面。”


编辑 2:感谢 @Kasper Souren 建议您可能需要向选项 UPDATE 查询添加 WHERE 子句。如果您不这样做,您可能会无意中更新某些其他选项。我已将 WHERE 子句添加到所有示例查询中。如果您确定不需要它,请随时将其删除,风险自负。


-2
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.