Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

Ссылка скопирована
1 ответ

Произошла ситуация - поломал сайт.
опишу подробно шаги:
1. решил я почистить БД от мусора старого
2. Сделал дамп БД и скачал на ПК.
3. Начал удалять мусор
4. Упала админка и главная страница сайта (мой акк перестало считать админом) (user and usermeta я не удалял и эти данные в таблицах были)
5. Восстановил БД, изменений ноль.
6. Перезапустил сервер, появилась заглушка на всех страницах (сайт в разработке там там там там), и работает админка (мой акк всё нормально). удалил файл с заглушкой, ошибка 404 теперь на страницах. (возвращаем фаил index.php и ошибки 404 больше нет, заглушка что сайт в разработке)

Если хочу создать новую страницу, ошибка "Ошибка публикации. Ответ не является допустимым ответом JSON."
так же в здоровье сайта можно получить такую информацию
"
REST API — один из способов коммуникации WordPress и других приложений с сервером. К примеру, экран редактора блоков использует его для отображения и сохранения ваших записей и страниц.

При тестировании REST API был возвращен неожиданный результат:

Конечная точка REST API:

https://babyki.by/wp-json/wp/v2/types/post?context=edit

https://babyki.by/wp-json/wp/v2/types/post?context=edit

Ответ REST API: (404) Not Found
"

Дополнительно:

Нужно смотреть что пишется в логах БД. Потому-что 404 - это не очень информативно и может
быть просто следствием другой ошибки.

  • Ответ не является допустимым ответом JSON.

    смотри в консоли разработчика браузера (вкладка network -> выбрать запись -> вкладка Response), что тебе вернулось в этом json, скорее всего сообщение об ошибке смешалось с ответом, так же смотри логи веб сервера, там будут так же сообщения об ошибке, по которым все можно будет понять

  • rPman, все ответы одинаковые

    Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

  • mayton2019, Единственное что в логах ошибок БД это повторяющаяся фраза.

    "-08-23T15:05:43.216544Z 827 [Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead' "

  • ddumaa, да тут ничего интересного. А мусор - это что? Исторические данные?
  • mayton2019, мусор это от прошлой темы данные, от движка который ставил но не использовал и удалил, проверил что они достаточно занимают места в БД, и т.д. всё что не используется сотни лет но наследило ...

    Дебаг режим выдаёт одну ошибку в админке , другие страница просто 404
    Warning: fileperms(): stat failed for /var/www/www-root/data/www/babyki.by/index.php in /var/www/www-root/data/www/babyki.by/wp-admin/includes/file.php on line 2147

    вот строки

    // Set the permission constants if not already set.
    if ( ! defined( 'FS_CHMOD_DIR' ) ) {
    define( 'FS_CHMOD_DIR', ( fileperms( ABSPATH ) & 0777 | 0755 ) );
    }
    if ( ! defined( 'FS_CHMOD_FILE' ) ) {
    это 2147 ---->define( 'FS_CHMOD_FILE', ( fileperms( ABSPATH . 'index.php' ) & 0777 | 0644 ) );
    }
    return true;
    }

    в итоге он ссылается на файл index который выводит заглушку для сайта (в разработке)

  • mayton2019, соответственно 404 ошибка пропадает и остаётся при запросе одна, 302

    Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

  • Знаешь мне кажется у тебя достаточно знаний самому разобраться. У тебя была работающая система.
    Ты сделал чистку. Система упала. Сделай несколько steps назад до того момента пока все работало.
  • Warning: fileperms(): stat failed for /var/www/www-root/data/www/babyki.by/index.php in /var/www/www-root/data/www/babyki.by/wp-admin/includes/file.php on line 2147

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

    ошибка 404 это потому что ты 'удалил файл с заглушкой', верни назад и вообще пойми почему у тебя заглушка появилась.

    Очевидно что кроме базы данных ты что то сделал с файлами, откати и их назад

  • rPman, прочитав поточнее вы увидите что я фаил то вернул, и нет я больше ничего не делал, файлы не трогал.
  • Раз не работает, значит что то не до конца вернул!
    Это очевидно, решение либо разбираться буквально занимаясь отладкой кода, либо решать задачу восстановления сайта. Раз сайт в каком то смысле работает (под конкретным пользователем) значит проблема почти наверняка в месте аутентификации и настройки прав доступа.

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

  • Есть предположение что бэкап поднялся не весь. Например есть таблицы с форен кеями, которые не запустятся, если ссылаемые таблицы еще не существуют, а дамп делается всегда не в порядке наследования, а по алфавиту.
  • ThunderCat, я обновил топик, решил проблему
  • rPman, всё уже решено, и если я говорю что ничего не удалял, то так и есть, решение написал в топике, всё) это всё фаил 1 быка кинул...
  • И так я сделал это, после того как я с нуля поставил БД и заменил его имя на старое и влил бекап. я поставил такой же быстро новый сайт, от туда я взял данные с index.php и вставил на рабочий сайт, и он ожил.

    • Вообще у меня большое разочарование к сайту сделанному на вордпресс. Постоянно что-то ломается, внешний вид сайта восстанавливается только из хостинга, с потерями. Плагины недоделанные, а только для рекламы версии про. Думаем может быть самописный сайт заказать и не мучиться с этим сайтом на WP.
      Вот вы такой знаток и то не смогли узнать причину поломки сайта, а что делать администратору сайта, который постоянно борется с ошибками на сайте.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Юрий Linux Ответ

    После ручной чистки базы и 404 на REST API сначала нужно остановить любые дальнейшие удаления и зафиксировать текущее состояние файлов и базы. То, что восстановление дампа не помогло, означает, что проблема может быть не только в БД: могли измениться файлы, .htaccess/Nginx, константы в wp-config.php, активная тема, плагины или подключение к другой базе.

    Порядок диагностики:

    1. Проверьте wp-config.php: имя БД, префикс таблиц $table_prefix, домен в WP_HOME/WP_SITEURL, если они заданы.
    2. Проверьте, что в корне WordPress лежит нормальный index.php, а не заглушка хостинга.
    3. В админке пересохраните постоянные ссылки, если доступна админка. Для Apache проверьте .htaccess.
    4. Откройте /wp-json/ и посмотрите фактический ответ сервера.
    5. Смотрите Network → Response в браузере для ошибки «Ответ не является допустимым JSON».
    6. Проверьте PHP error log и web server log на момент запроса.

    Для Apache стандартный блок WordPress в .htaccess должен быть примерно таким:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

    Если пользователь потерял права администратора, проверьте wp_usermeta по текущему префиксу: ключи должны быть вида wp_capabilities и wp_user_level, где wp_ совпадает с вашим $table_prefix. Частая ошибка после восстановления — база одна, а префикс в конфиге другой.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно