После перемещения Wordpress вход в систему работает, но никакого доступа к администратору больше нет

После переноса wordpress от старого интернет-провайдера к новому интернет-провайдеру у меня возникают проблемы с доступом/доступом администратора к панели управления.

Передача была выполнена путем копирования всех файлов (включая .htaccess) со старого сервера на новый сервер, сброса старой БД и размещения на новом сервере и настройки всех настроек для БД в wp-config.php.

Установив запись хоста на моем компьютере, я могу проверить, что все работает нормально, и появляется весь контент.

Вот моя проблема.

После входа в wp-login.php со старыми и новыми учетными данными (например, добавлена ​​учетная запись администратора вручную) происходит вход в систему, перенаправление меня на сайт, подтверждение успешного входа в систему с помощью панели входа в верхней части страницы, но доступ к приборной панели запрещен указанием.

Sorry, you are not allowed to access this page.

В строке входа также почти нет параметров, кроме перехода на wordpress.com или выхода из системы.

Это, вероятно, всего лишь небольшая вещь, и мне нужен только тот, кто указывает мне в правильном направлении.

Ответ 1

Оказывается, что это ошибка в Wordpress 4.6.1 при использовании вашего собственного префикса для имен таблиц DB.

Переименуйте префикс wp_ и измените имена таблиц, и он будет работать.

Ответ 2

Нашел идеальное решение для меня.

Проблема заключалась не в переносе базы данных на новый сервер, но, если префикс миграции отличается как в старой, так и в новой базе данных, проблема возникает!

Мой оригинальный префикс базы данных был что-то вроде wp_71XXXXXX28_, и в новой установке я использовал wp_. Изменение префикса только решает часть данных, но проблема с входом в систему по-прежнему существует.

Итак, я просто ищу старый префикс во всех таблицах с помощью опции поиска phpmyadmin для wp_71XXXXXX28_ и изменяю записи на wp_.

Примечание: я нашел 5-6 совпадений в wp_user и 1 совпадение в wp_option, ваши могут отличаться!

Ответ 3

Похоже, ваша проблема связана с созданной вручную учетной записью администратора. Сообщение об ошибке, которое вы видите, указывает мне, что существует проблема с правами, назначенными пользователю.

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

Я предполагаю, что вы добавили пользователя непосредственно в таблицу users, но после этого добавили ли вы возможности и информацию о уровне пользователя в таблицу usermeta?

Чтобы дать вам пример, если я создаю пользователя, я бы запустил запрос, чтобы вставить пользователя в таблицу wp_users (предполагая, что мы в стандартном префиксе таблицы).

Затем я получаю идентификатор моего вновь созданного пользователя и использую его для вставки двух новых строк в wp_usermeta.

umeta_id должен быть NULL, а user_id должен быть идентификатором вашего нового пользователя для обеих записей.

1)
meta_key: wp_capabilities
meta_value: a:1:{s:13:"administrator";s:1:"1";}

2)
meta_key: wp_user_level
meta_value: 10

Дополнительная литература: http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/

Ответ 4

это может быть из-за того, что вы меняете имя таблицы вручную, а затем это сообщение об ошибке. поэтому также измените префикс таблицы в таблицу "usermeta" в столбце "meta_key"

previousprefixthatyouchangeinnew_ to

  • yourPrefix_capability
  • yourprefix_user_level
  • yourprefix_user-настройки
  • yourprefix_user-настройки времени

Ваша проблема решена.

Ответ 5

Я также столкнулся с этим сообщением после миграции.

Похоже, что префикс базы данных чувствителен к регистру, и если он не соответствует точно, это то, что появляется при попытке доступа к страницам администрирования.

Убедитесь, что вы проверили свой файл config.php и настроили его как префикс таблицы.

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


phpMyAdmin image: phpMyAdmin

Правильный префикс в изображении - тот, который должен использоваться.

Я использовал таблицу "< префикs > _usermeta", чтобы получить ожидаемый префикс WP.

Ответ 6

Для тех, кто все еще ищет правильный ответ в моем случае, это то, что я сделал, чтобы решить проблему невозможности войти в WordPress Dashboard.

В таблице базы данных "wp_options" под именем опции "wp_user_roles" отсутствовали все стандартные возможности. Скопируйте эти возможности из резервной копии базы данных или из чистой базы данных WordPress.

Ответ 7

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