Вчера сайт взломали - вставили новые блоки с ссылками. Первым делом решил откатиться на бекап и обновить сайт.
Надеясь, что бекап хостинга работает нормально - восстановил из этого бекапа, а он оказался побитый.
Почему-то включено куча модулей, а таблиц нет, и даже в старых бекапах.
Вручную поотключал модули через drush sql-query "UPDATE system SET status = '0' WHERE name = 'module_name'"
Главная заработала, но когда пытаюсь попасть в админку или внутренние - пишет бразуер что не может обработать страницу и сыпятся такие ошибки:
"PHP message: PHP Fatal error: Unsupported operand types in /home/user/www/modules/system/system.module on line 2561
Тоже самое вижу когда пытаюсь выполнить любую команду типа drush up, drush cc all и т.д.
В общем любая команда кроме работы с mysql - прерывается на этой ошибке.
В коде это вот такие строчки http://joxi.ru/V2VWqOU01VQRAv
Я пробовал коменить эти строки, подставлять другие значения, но тогда другие ошибки сыпятся.
Из тем установлены стандартные, плюс adaptivetheme на основе которой еще сделана и своя - которая для сайта 4 года без проблем использовалась.
Упоминания ошибок в этом участке кода нет в гугле, вообще уже руки опускаются.
Комментарии
Непонятно, вы оживляете старый битый бекап или лечите последствия своего лечения?
Если первое, то зачем вам это надо?
По ошибке, у вас походу ещё и в info-файлы гадости дописано.
Но надо бы дебажить, посмотреть значения переменных на этой строке.
Лечу, так как бекапа, который бы делал сам с какой-то разумной датой давности - не нашел. У клодо снапшоты работали без сбоев, поэтому понадеялся на них, а на текущем хостинге как оказалось работаю криво.
Попробую задампить, что там пишется. Думал, что может кто сталкивался с таким.
У вас слишком специфичная проблема с возможной тысячью вариантов почему так.
Наивно думать, что оно будет описано.
А если и будет описано, то естественно, для какого-то общего случая, но не более того.
За 40$ готов помочь с восстановлением
Это было весело, но не зря.
Считаю, что работа не закончена, но уже получилось на 99%
Основная причина не работы админки и не работы сброса кеша через drush была из-за того, система видела одну тему два раза, при том тема была для тестов www/modules/simpletest/tests/themes/test_theme
Вываливалась ошибка что аргументов в sql запросе больше, чем надо и сами запрос.
Не мог избавиться, поэтому захардкодил костылем по названию темы, что игнорируем ее http://joxi.ru/n2YlGxCjYR81m6
После этого смог сбросить кеш и попытаться выполнить апдейт.
drush updb валился видимо из-за неудавшейся до этого попытки обновления. Пришлось по кускам выяснить какие изменения были, плюс нашел тему https://www.drupal.org/project/drupal/issues/935570 и откатил все изменения. Что удивило - это же вроде для перехода с 6-й на 7-ю версию, а сайт всегда на 7-й работал.
В ходе ковыряния по неработающим страницам и сообщениям в логе находил модули без таблиц, пример:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'site.trigger_assignments' doesn't exist: SELECT ta.aid, a.type, a.label FROM {trigger_assignments} ta LEFT JOIN {actions} a ON ta.aid = a.aid WHERE ta.hook = :hook ORDER BY ta.weight; Array#012(#012 [:hook] => node_view#012)#012 in trigger_get_assigned_actions() (line 193 of /home/site/www/modules/trigger/trigger.module).
Вырубал их. После этого сайт начал более менее работать.
Затем приступил к апдейту через drush up - по ходу выяснил еще наличие таких модулей - отключил.
Часть модулей отключил только через drush sql-query "UPDATE system SET status = '0' WHERE name = 'module_name'"
часть по нормальному через drush dis name_of_module
Еще вчера нашел в папке куда заливаются фотки файл недельной давности http://joxi.ru/l2ZZ0kC86aPw2J и 3 файла с троянами, KIS сразу их удалил.
Первый перенес на комп, но скорее всего это не он точка взлома, так как права 644 там. Думаю это из-за того, что не обновлял месяца 4.
Ставьте модуль schema, посмотрите какие таблицы у вас покоцанные или отсутствуют.
Спасибо! То что нужно, еще десяток модулей нашел