Подтвердить что ты не робот

У вас нет достаточных разрешений для доступа к этой странице без каких-либо изменений

Я работаю над Wordpress, и я выполнил свой проект локально. Затем я переместил его на свой живой сервер и ничего не менял, я только что внес изменения в файл конфигурации (имя базы данных, имя пользователя и пароль).

Теперь мой сайт отлично работает на интерфейсе, но я не могу получить доступ к панели администратора, поскольку каждый раз, когда он дает мне сообщение об ошибке:

У вас недостаточно прав для доступа к этой странице.

Поисковые запросы Google показывают, что большинство ошибок произошло из-за изменения префикса, но в моем случае это то же самое, что и на локальном. Кроме того, разрешения для моих каталогов - 755, а для файлов - 644, но все же сталкиваются с той же проблемой.

Как я могу это исправить?

4b9b3361

Ответ 1

Вы изменили префикс таблиц базы данных? Я на 90% уверен, что это твоя проблема.

Дело в том, что WordPress использует переменную $table_prefix для формирования имен опций и usermeta-ключей, где хранит информацию о ролях и возможностях. Поэтому, как только вы меняете префикс, но не обновляете свой дБ, вы получаете эту ошибку. Вот как это исправить - выполните эту команду SQL через phpMyAdmin или другой интерфейс для взаимодействия с вашей БД (вы также можете сделать это с 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_, вы должны сделать этот запрос:

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

EDIT: Как заметил @Francisco Corrales, если у вас возникли проблемы с доступом к созданной вами странице администратора (если вы не пишете PHP, это не ваш случай), вы можете проверить эту ссылку: Ошибка Wordpress при разработке плагина - "У вас нет достаточных разрешений для доступа к этой странице."


РЕДАКТИРОВАТЬ 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%}%';

Ответ 2

Ваша проблема не в разрешении на каталоги. Тот факт, что вы видите сообщение "У вас недостаточно прав для доступа к этой странице", означает три вещи:

  • вы пытаетесь получить доступ к странице администратора напрямую, но не через wp-admin (поэтому, пожалуйста, укажите, какую страницу администратора вы пытаетесь получить),

  • вы уже вошли в систему (иначе вы были бы перенаправлены на /wp -admin) и

  • область, которую вы пытаетесь получить, зарезервирована для более высокого уровня пользователя (поэтому вы можете подключаться к учетной записи редактора, тогда как область доступна только для администраторов).

Можете ли вы сказать нам, что ваша локальная база данных и онлайн-база данных одинаковы? Вы можете войти в систему, прежде чем вы увидите это сообщение?