Вопрос или проблема
Один из моих клиентов сообщил мне об ошибке на своем веб-сайте. Мы загрузили резервную копию, потому что это производственный сайт, однако с тех пор у нас больше нет доступа к wp-admin. Сообщение, которое я получаю, когда перехожу на /wp-admin, — это ошибка 403 с перенаправлением на upgrade.php?_wp_http_referer=%2Fwp-admin%2F
Полная ошибка следующая:
Доступ запрещен! У вас нет прав на доступ к запрашиваемому объекту. Либо он защищен, либо сервер не может его прочитать.
Если вы считаете, что это ошибка сервера, пожалуйста, свяжитесь с вебмастером.
Ошибка 403 Apache
Я уже пытался изменить db_version в файле version.php и в моей базе данных, это не помогло.
Ошибка 403 с перенаправлением на upgrade.php
в административной панели сайта WordPress может быть сложной для диагностики и устранения, так как она может быть вызвана различными проблемами, включая разрешения на файлы, конфигурацию сервера, проблемы с базой данных или поврежденные файлы. Давайте рассмотрим несколько шагов по устранению неполадок и потенциальному решению этой проблемы:
-
Разрешения на файлы:
- Неправильные разрешения на файлы являются одной из распространенных причин ошибки 403. Убедитесь, что для каталогов установлено значение
755
, а для файлов —644
. Вы можете использовать FTP-клиент или SSH для проверки и изменения разрешений на файлы.
- Неправильные разрешения на файлы являются одной из распространенных причин ошибки 403. Убедитесь, что для каталогов установлено значение
-
Файл .htaccess:
- Неправильная конфигурация файла
.htaccess
может привести к проблемам с доступом. Попробуйте переименовать файл.htaccess
(например, в.htaccess_old
) и проверьте, разрешает ли это проблему. Если да, перейдите в Настройки → Постоянные ссылки в вашей панели управления WordPress и просто нажмите «Сохранить изменения», чтобы сбросить файл.htaccess
с правильной конфигурацией.
- Неправильная конфигурация файла
-
Файлы WordPress:
- Поврежденные файлы ядра WordPress могут вызвать эту проблему. Переустановите все файлы и папки, кроме папки
wp-content
и файлаwp-config.php
из свежей загрузки WordPress. Это можно сделать через FTP.
- Поврежденные файлы ядра WordPress могут вызвать эту проблему. Переустановите все файлы и папки, кроме папки
-
Проблемы с базой данных:
- Так как проблема началась после загрузки резервной копии, убедитесь, что база данных была правильно восстановлена и что файл
wp-config.php
имеет правильные данные для подключения к базе данных. - Проверьте значения
siteurl
иhome
в таблицеwp_options
вашей базы данных WordPress, чтобы убедиться в их правильности.
- Так как проблема началась после загрузки резервной копии, убедитесь, что база данных была правильно восстановлена и что файл
-
Плагины и темы:
- Иногда конфликт плагина или темы может вызвать эту проблему. Переименуйте папку
plugins
(например, вplugins_old
), чтобы деактивировать все плагины. Если это устраняет проблему, верните папке имяplugins
и затем активируйте каждый плагин по одному, чтобы выявить виновника. - Аналогично, попробуйте переключиться на тему по умолчанию (например, Twenty Twenty-One), чтобы исключить конфликты тем.
- Иногда конфликт плагина или темы может вызвать эту проблему. Переименуйте папку
-
Конфигурация сервера:
- Если у вас есть доступ к файлам конфигурации сервера или возможность связаться с вашим хостинг-провайдером, проверьте на наличие ограничений доступа на уровне сервера или правил mod_security, которые могут блокировать доступ к
wp-admin
.
- Если у вас есть доступ к файлам конфигурации сервера или возможность связаться с вашим хостинг-провайдером, проверьте на наличие ограничений доступа на уровне сервера или правил mod_security, которые могут блокировать доступ к
-
Процесс обновления WordPress:
- Перенаправление на
upgrade.php
предполагает, что WordPress, возможно, пытается завершить обновление. Убедитесь, что ваши файлы WordPress актуальны, и что версия базы данных вversion.php
соответствует версии в таблицеwp_options
(значениюdb_version
).
- Перенаправление на
-
Проверка журналов ошибок:
- Просмотрите журналы ошибок вашего сервера на наличие каких-либо специфических записей, которые могут дать больше подсказок о причинах ошибки 403.
-
Плагины безопасности:
- Если у вас установлены какие-либо плагины безопасности, они могут по ошибке блокировать доступ к административной панели. Проверьте их настройки или временно отключите их.
-
Свяжитесь с хостинг-провайдером:
- Если ни один из этих шагов не решает проблему, свяжитесь с вашим хостинг-провайдером, так как он сможет лучше помочь с этой проблемой.
Вам нужно проверить файл /wp-includes/version.php
$wp_db_version = YOUR_VERSION_NUMBER;
Затем вам нужно перейти в PhpMyAdmin -> База данных сайта -> Опции (таблица), выбрать до 500 строк и найти db_version
Если dv_version < $wp_db_version = YOUR_VERSION_NUMBER;
Измените на значение YOUR_VERSION_NUMBER из /wp-includes/version.php
Это частично решило проблему, и теперь я могу войти в панель управления WordPress. Однако, когда я пытаюсь обновить или добавить новые плагины, снова получаю ошибку 403 Forbidden. Возможно, на моем аккаунте есть вредоносное ПО, и я запросил сканирование у моего хостинг-провайдера.
.
Ответ или решение
Ошибка 403 с перенаправлением на upgrade.php в разделе администрирования сайта на WordPress может быть вызвана множеством различных факторов, включая проблемы с файлами, серверной конфигурацией, базой данных и возможными остаточными данными после восстановления из резервной копии. Рассмотрим подробнее различные аспекты этой проблемы и пути их решения.
Теория
Ошибка 403 Forbidden связана с запретами доступа к необходимым ресурсам или неправильной конфигурацией системы, которая мешает корректной работе сайта. В случае с WordPress данная ошибка на странице администрирования wp-admin может быть вызвана несколькими причинами:
-
Неверные права доступа к файлам. Когда серверу запрещён доступ к необходимым файлам или директориям, это приводит к ошибке 403.
-
Проблемы с конфигурацией .htaccess. Этот файл отвечает за управление URL-адресацией и правилами доступа. Неправильная конфигурация может мешать доступу к разделам сайта.
-
Некорректные или поврежденные файлы WordPress. Восстановление из резервной копии могло наложить поврежденные или устаревшие файлы, вызывая проблемы с доступом.
-
Ошибки в базе данных. Несоответствие версий базы данных и файлов WordPress может вызывать некорректные запросы, требующие обновления системы.
-
Проблемы с плагинами и темами. Конфликтные плагины или темы могут блокировать доступ к админ-панели.
-
Настройки сервера. Иногда на стороне сервера могут быть установлены ограничения доступа через файлы конфигурации или правила безопасности (например, mod_security).
Пример
Рассмотрим ситуацию более детально. В ходе восстановления сайта из резервной копии была получена ошибка 403 при попытке доступа к /wp-admin, которая перенаправляет на upgrade.php. Вы уже пробовали изменять параметр db_version в файле version.php и базе данных, однако это не решило проблему полностью.
Применение
Применение различных решений может помочь устранить проблему:
-
Проверка и корректировка прав доступа к файлам и директориям. Директории WordPress должны иметь права доступа 755, а файлы — 644. Вам необходимо проверить и, при необходимости, исправить права доступа, например, используя FTP-клиент или SSH.
-
Проверка и редактирование файла .htaccess. Попробуйте временно переименовать .htaccess (например, в .htaccess_old) и проверьте, устранится ли ошибка. Если проблема исчезнет, вы можете восстановить .htaccess через панель управления WordPress в разделе "Настройки → Постоянные ссылки" простым сохранением изменений.
-
Замена поврежденных файлов WordPress. Возможная порча файлов WordPress может быть устранена загрузкой свежей версии WordPress и заменой всех файлов за исключением wp-content и wp-config.php.
-
Обновление параметров базы данных. Убедитесь, что параметры siteurl и home в таблице wp_options соответствуют текущему адресу сайта. Также удостоверьтесь, что версия базы данных совпадает с версией, указанной в файле version.php.
-
Деактивация плагинов и переключение тем. Временна переименуйте каталог plugins, чтобы отключить все плагины, и переключитесь на стандартную тему WordPress. Это позволит выявить, если проблема вызвана конфликтом.
-
Проверка настроек сервера. Попросите вашего провайдера хостинга проверить серверные журналы ошибок и правила безопасности, которые могут блокировать доступ.
-
Обновление системы WordPress. Если система отображает ссылку на upgrade.php, она может пытаться завершить процесс обновления. Убедитесь, что файл версии в order.php и база данных синхронизированы.
-
Проверка на наличие вредоносного ПО. Поскольку у вас возникают проблемы с установкой плагинов, возможно, аккаунт подвергся атаке. Запросите у хостинг-провайдера сканирование безопасности для выявления и удаления возможного вредоносного ПО.
Заключение
Комплексный подход к решению данной проблемы должен включать последовательную проверку прав доступа, конфигурации сервера и состояния файлов WordPress. Внимание к деталям и соблюдение инструкций постепенно устранят причины возникновения ошибки и обеспечат стабильную работу сайта. Если проблема не будет решена указанными методами, рекомендуется обратиться за помощью к специалистам хостинг-продукта для более глубокой диагностики и устранения неисправностей.