Не удается получить доступ к панели администратора после неудачного обновления базы данных WordPress

25 июн. 2013 г., 02:22:52
Просмотры: 50.9K
Голосов: 18

После обновления до 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.

Я попробовал различные способы решения проблемы, но безуспешно:

  1. Подождал час, чтобы посмотреть, исчезнет ли проблема (на первой странице написано, что "процесс обновления может занять некоторое время")
  2. Попробовал нажать кнопку в четырех разных браузерах
  3. Проверил журнал ошибок сервера (нет ошибок во время обновления)
  4. Восстановил базу данных (я сделал резервную копию перед началом обновления)
  5. Переименовал папку моей темы
  6. Переименовал папку плагинов

Единственное другое решение, которое приходит в голову - это откат WordPress до более старой версии. Есть ли у кого-нибудь идея получше?

PS - Во время поиска решения я заметил, что похожий вопрос был закрыт как "слишком локализованный". Однако, я считаю, что эта проблема "применима к мировой аудитории интернета". Я не первый человек, столкнувшийся с этой проблемой, и думаю, что не последний!

7
Комментарии

Соответствует ли ваш сервер требованиям? С какой версии вы обновляетесь? Я обычно нахожу, что наиболее надежное решение — это скачать последнюю версию, распаковать, а затем загрузить и перезаписать файлы через FTP.

TheDeadMedic TheDeadMedic
25 июн. 2013 г. 02:59:01

Когда вы выполняете пункт №4 (восстановление базы данных), WordPress позволяет вам войти в систему? Если да, то запрашивается ли затем обновление? Также, как сказал @TheDeadMedic, вы обновляетесь с версии 3.5.1 до 3.5.2 или с другой?

Brooke. Brooke.
25 июн. 2013 г. 08:34:25

@TheDeadMedic - Сервер соответствует требованиям (PHP 5.3.26 и MySQL 5.5.32), и последнее обновление я делал около трех месяцев назад, так что это была версия 3.5.1. Я пробовал ручную установку (через FTP), но проблема осталась ;(

unhack unhack
25 июн. 2013 г. 15:53:46

@BandonRandon - Нет, не помогает. Я думал, что восстановление базы данных точно решит проблему, но этого не произошло.

unhack unhack
25 июн. 2013 г. 15:56:51

Убедитесь, что WP_DEBUG установлен в true в файле wp-config.php, и если нет, попробуйте снова обновить базу данных.

TheDeadMedic TheDeadMedic
25 июн. 2013 г. 17:36:59

Похоже, это может быть проблема с темой, судя по этому вопросу в поддержке на WP.org http://wordpress.org/support/topic/database-update-required?replies=9 (да, я знаю, что вопросу два года)

Brooke. Brooke.
25 июн. 2013 г. 21:03:26

@BandonRandon - Спасибо за ссылку. Проблема была не в теме, а решение нашлось в комментариях на странице. Скоро опубликую решение.

unhack unhack
26 июн. 2013 г. 12:55:12
Показать остальные 2 комментариев
Все ответы на вопрос 9
4
32

Проблема, как оказалось, заключалась в том, что значение поля 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/.

26 июн. 2013 г. 13:10:32
Комментарии

Ты БОГ!!!!

akshaynagpal akshaynagpal
22 мая 2017 г. 15:42:58

Согласен с предыдущим комментарием. Спасение!

Joseph Joseph
31 авг. 2017 г. 08:10:02

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

Chris Woods Chris Woods
5 июл. 2018 г. 21:42:31

Я бы не рекомендовал вручную обновлять версию базы данных в БД, так как это может привести к несоответствиям в базе данных.

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

fahu fahu
1 февр. 2022 г. 08:34:47
1

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

16 сент. 2015 г. 19:41:15
Комментарии

Тоооочно такой же процесс, как в ответе, который был дан два года назад? :)

rinogo rinogo
16 нояб. 2017 г. 22:24:17
0

Посмотрите в файле 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 посмотрите дату последнего обновления вашего сайта.

16 окт. 2015 г. 21:41:16
0

У меня есть идеальное решение для вас. Проблема возникает только когда базе данных вашего сервера требуется обновление.

Вот пошаговый ПРОСТОЙ процесс, как я легко решил эту проблему:

  1. Откройте Файловый менеджер вашего хостинг-аккаунта

  2. Перейдите в папку плагинов (расположена в wp-content)

  3. Переименуйте папку плагинов в plugins123

  4. Посетите страницу /wp-admin вашего сайта

Ваш браузер автоматически перенаправит вас на эту страницу.

Нажмите на кнопку Обновить базу данных WordPress и после завершения обновления базы данных вернитесь в Файловый менеджер и переименуйте папку плагинов обратно в plugins

Этот процесс взят с http://www.vashistha.in/2016/12/problem-solved-upgradephpwphttpreferer2.html

6 дек. 2016 г. 14:51:24
1

Я работаю в компании, предоставляющей услуги хостинга. Постоянно вижу эту ошибку. Вот простое решение:

1. Зайдите в phpMyAdmin

2. Выберите все таблицы и выполните их восстановление

Теперь вернитесь на yoursite.com/wp-admin и при запросе обновления базы данных согласитесь. Вуаля! На этот раз процесс завершится успешно и всё заработает.

5 мая 2015 г. 17:37:31
Комментарии

В моем случае db_version в wp_options и $wp_db_version в version.php имели одинаковые номера. Восстановление всех таблиц помогло, спасибо

big_p big_p
9 дек. 2019 г. 17:04:51
0

Спасибо, у меня была такая же проблема, и ваше решение тоже сработало! Огромное спасибо, что поделились этим, вы сэкономили мне кучу времени, я очень признателен!

После того, как я попробовал это решение и оно сработало, я нашел еще один совет — загрузить файл upgrade.php из чистой загрузки версии WordPress, на которую вы обновляетесь. Я загрузил его, затем перешел на страницу upgrade.php, где появилась кнопка обновления базы данных, и успешно обновил БД. Возможно, стоит завершить процесс этим шагом, чтобы убедиться, что все в базе данных соответствует ожиданиям установленной версии.

http://wordpress.org/support/topic/352-update-cant-access-admin-area?replies=8

29 июн. 2013 г. 07:41:20
0

Убедитесь, что ваша база данных имеет разрешения mysql:mysql

В зависимости от вашей установки:
chown -R mysql:mysql /var/lib/mysql
или
chown -R mysql:mysql /var/lib/mysql/ИмяВашейБазыДанных
должно исправить все ваши базы данных.

Если вы не знаете точный путь, выполните: find / -name ИмяВашейБазыДанных (указано в wp-config)

10 нояб. 2014 г. 23:13:04
0

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

7 дек. 2016 г. 16:06:55
0

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

13 сент. 2022 г. 17:47:00