Не удается получить доступ к панели администратора после неудачного обновления базы данных WordPress
После обновления до WordPress 3.5.2 я не могу войти в панель управления. Вместо этого меня перенаправляет на /wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F, где отображается сообщение 'Требуется обновление базы данных' и кнопка 'Обновить базу данных WordPress'. Когда я нажимаю на кнопку, страница перезагружается, работает несколько секунд, и ничего не происходит. Все, что я вижу - это логотип WordPress вверху и больше ничего. URL страницы становится /wp-admin/upgrade.php?step=1&backto=%2Fwp-admin%2F.
Я попробовал различные способы решения проблемы, но безуспешно:
- Подождал час, чтобы посмотреть, исчезнет ли проблема (на первой странице написано, что "процесс обновления может занять некоторое время")
- Попробовал нажать кнопку в четырех разных браузерах
- Проверил журнал ошибок сервера (нет ошибок во время обновления)
- Восстановил базу данных (я сделал резервную копию перед началом обновления)
- Переименовал папку моей темы
- Переименовал папку плагинов
Единственное другое решение, которое приходит в голову - это откат WordPress до более старой версии. Есть ли у кого-нибудь идея получше?
PS - Во время поиска решения я заметил, что похожий вопрос был закрыт как "слишком локализованный". Однако, я считаю, что эта проблема "применима к мировой аудитории интернета". Я не первый человек, столкнувшийся с этой проблемой, и думаю, что не последний!

Проблема, как оказалось, заключалась в том, что значение поля db_version в таблице wp_options и переменная wp_db_version в файле /wp-includes/version.php не совпадали. В моем случае (при обновлении до версии 3.5.2) в базе данных было значение "22441", тогда как в PHP-файле указано "22442". Изменение числа в базе данных на "22442" решило проблему.
Не совсем уверен, что это правильное решение - подозреваю, что скрипт "Обновить Базу Данных" делает больше, чем просто обновляет поле db_version. Но... теперь я снова могу войти в систему, и админ-панель показывает, что я использую последнюю версию WordPress.
Для более подробного объяснения (со скриншотами) и второго возможного решения см. www.clickonf5.org/2247/.

Отличное быстрое решение. Похоже, что скрипт обновления либо завис до обновления строки в базе данных, либо какая-то другая проблема помешала корректному обновлению. В любом случае, я вручную обновил базу данных, чтобы она соответствовала строке версии WP, затем включил встроенную в WP функцию WP_ALLOW_REPAIR, запустил обновление и оптимизацию базы данных (после полного бэкапа!) и всё вернулось в норму на 100%. Идеально, сэкономил мне часы работы.

Я бы не рекомендовал вручную обновлять версию базы данных в БД, так как это может привести к несоответствиям в базе данных.
Однако вы можете использовать wp-cli (https://wp-cli.org/) и выполнить команду wp core update-db
с его помощью. Это запустит обновление базы данных вручную через CLI.

Проверьте файл "/wp-includes/version.php" $wp_db_version = [числовое значение]
на соответствие со значением в таблице опций базы данных options_value
. Эти значения должны совпадать. Если числа не совпадают, измените значение в таблице опций, чтобы оно соответствовало значению в файле version.php
.

Посмотрите в файле version.php
в директории wp-includes
:
* @global string $wp_version
*/
$wp_version = '4.3.2';
/**
* Содержит ревизию базы данных WordPress, увеличивается при внесении изменений в схему БД WordPress.
*
* @global int $wp_db_version
*/
$wp_db_version = 33055;
И проверьте, совпадают ли значения wp_version
и DB_version
на вашем сайте.
db_version
можно посмотреть в phpMyAdmin. Для проверки версии WP посмотрите дату последнего обновления вашего сайта.

У меня есть идеальное решение для вас. Проблема возникает только когда базе данных вашего сервера требуется обновление.
Вот пошаговый ПРОСТОЙ процесс, как я легко решил эту проблему:
Откройте Файловый менеджер вашего хостинг-аккаунта
Перейдите в папку плагинов (расположена в wp-content)
Переименуйте папку плагинов в
plugins123
Посетите страницу /wp-admin вашего сайта
Ваш браузер автоматически перенаправит вас на эту страницу.
Нажмите на кнопку Обновить базу данных WordPress и после завершения обновления базы данных вернитесь в Файловый менеджер и переименуйте папку плагинов обратно в plugins
Этот процесс взят с http://www.vashistha.in/2016/12/problem-solved-upgradephpwphttpreferer2.html

Я работаю в компании, предоставляющей услуги хостинга. Постоянно вижу эту ошибку. Вот простое решение:
1. Зайдите в phpMyAdmin
2. Выберите все таблицы и выполните их восстановление
Теперь вернитесь на yoursite.com/wp-admin и при запросе обновления базы данных согласитесь. Вуаля! На этот раз процесс завершится успешно и всё заработает.

Спасибо, у меня была такая же проблема, и ваше решение тоже сработало! Огромное спасибо, что поделились этим, вы сэкономили мне кучу времени, я очень признателен!
После того, как я попробовал это решение и оно сработало, я нашел еще один совет — загрузить файл upgrade.php из чистой загрузки версии WordPress, на которую вы обновляетесь. Я загрузил его, затем перешел на страницу upgrade.php, где появилась кнопка обновления базы данных, и успешно обновил БД. Возможно, стоит завершить процесс этим шагом, чтобы убедиться, что все в базе данных соответствует ожиданиям установленной версии.
http://wordpress.org/support/topic/352-update-cant-access-admin-area?replies=8

Убедитесь, что ваша база данных имеет разрешения mysql:mysql
В зависимости от вашей установки:
chown -R mysql:mysql /var/lib/mysql
или
chown -R mysql:mysql /var/lib/mysql/ИмяВашейБазыДанных
должно исправить все ваши базы данных.
Если вы не знаете точный путь, выполните:
find / -name ИмяВашейБазыДанных
(указано в wp-config)

Это сработало с изменением, что вам нужно временно переименовать: wp-content/plugins в wp-content/plugins123 Затем снова перейти к blog/wp-login, и вы будете перенаправлены на страницу обновления базы данных. Проблема вызвана некоторым плагином безопасности, который блокирует доступ к странице обновления базы данных. В моем случае это был WorldFence.

У меня есть альтернативное решение. В моём случае проблема заключалась в том, что я использовал объектный кеш Redis, и оказалось, что wp_db_version не обновилась в кеше Redis после обновления WordPress. Чтобы исправить это, мне просто нужно было сбросить кеш Redis, и проблема исчезла.
