Непонятная ситуация с обновлением модулей Drupal 7. Прошу помощи!

Аватар пользователя l8ki l8ki 19 сентября в 0:08

Всем добрый вечер!
Помогите, пожалуйста, разобраться в ситуации, так как совсем не ясно, в какую сторону копать.
Итак, на данный момент есть: сайт на Drupal 7.82, версия php 7.2.32.
Предыстория: в июне обновляли ядро с версии 7.78 на версию 7.80. После обновления вдруг выяснилось, что теперь стало невозможно обновлять модули через админку (https://drupal.ru/node/143731 - мой пост как раз об этом), в то время как на версии 7.78 всё работало. Никаких изменений в код не вносилось, то есть единственным программным изменением было обновление ядра. По итогу подумали, что, может, это какой-то баг в версии 7.80, - и вот сейчас наконец решили обновить версию 7.80 на версию 7.82. И тут выяснилось, что ситуация осталась такой же - модули через админ-панель по-прежнему не обновляются, несмотря на новое ядро...
Пошагово происходит вот что:
1) идём на страницу доступных обновлений, отмечаем галочками нужные модули, нажимаем "Скачать обновления":

2) после этого быстро мелькает страница "Загрузка обновлений" с прогресс-баром скачивания (если, к примеру, будет отмечено на обновление 2 модуля, то будет написано под прогресс-баром, что "Выполнено 2 из 2") - и открывается страница с адресом .../admin/update/ready :

3) нажимаем кнопку "Продолжить".
И вот тут не происходит вообще ничего - страница просто обновляется! Не отображается ни ошибок, ничего. А если посмотреть, на какую страницу ведёт эта кнопка "Продолжить", то тут самое интересное в том, что она и ведёт как раз по тому же самому адресу .../admin/update/ready .
Повторюсь, до перехода на версию 7.80 таких проблем в принципе не было. Всё замечательно обновлялось - после перехода по кнопке "Продолжить" происходил переход на страницу, где указывалось, что модули были успешно загружены и обновлены, и предлагалось запустить обновление базы данных. Почему сейчас кнопка "Продолжить" просто обновляет страницу? Перестал выполняться скрипт?
В документации к Друпалу - часть 13.6. Обновление модуля Drupal - указано, что "Если вы хотите использовать пользовательский интерфейс, модуль ядра Update Manager module должен быть установлен". Проверили - у нас установлен и включён модуль Update module (собственно, его с момента первой установки Drupal никто и никогда не выключал, а при обновлении ядра он же как раз обновляется), содержимое папки /modules/update ничем визуально от старых бэкапов не отличается.

Подскажите, что может быть не так? Может быть, дело в версии php - нужно перейти на 7.3 или 7.4? Или, может, хостинг что-то блокирует со своей стороны?

Лучший ответ

Аватар пользователя l8ki l8ki 23 сентября в 1:40

Update: дело оказалось всё-таки не в браузере, а в хостинге.)

Комментарии

Аватар пользователя ivnish ivnish 19 сентября в 17:45
1

Я предлагаю откатить ядро до 7.78 и проверить еще раз работает ли. Если да, то надо искать issue на орге или даже создадим его сами

Аватар пользователя l8ki l8ki 19 сентября в 19:35

К сожалению, откатить на 7.78 именно на рабочем сайте уже никак нельзя: он постоянно используется, там много посетителей (и поэтому все обновы можно накатывать только вечером/ночью в выходные), а с момента обновления на 7.80 (июнь) уже много воды утекло по контенту - добавлены десятки записей, если не сотни... Если только разворачивать бэкап с 7.78 на локалке для тестов, но это всё равно ведь будет не совсем то же самое.
Про issue на орге - это хорошая идея, спасибо! Если с хостингом не получится решить вопрос, напишу туда. Но вот на форуме .org в июне мне написали, что на версии 7.81 всё нормально работает: https://www.drupal.org/forum/support/upgrading-drupal/2021-06-27/problem... Значит, скорее всего, почему-то перестало работать именно у меня.
Подскажите, а как оставить issue на орге к конкретной версии ядра? К модулям - там всё понятно, а где можно написать по конкретной версии ядра?

Аватар пользователя vladtulku vladtulku 19 сентября в 19:55
1

Возьмите текущий бэкап и разверните его на локалке. Сразу станет понятно виноват ли сервер.
Лично мне, после обновления на 7.78 сайт предложил обновиться на 7.77. Обновился (залил) на старое ядро, а после опять новое. И норм. Контент при этом не страдает.

Аватар пользователя l8ki l8ki 20 сентября в 1:22

Большое спасибо всем за помощь!
Проблема решена - причём, как оказалось, очень просто - сменой браузера. Использовалась Опера последней версии, и там была описанная выше ситуация. Попробовали на Хроме последней версии - и всё обновилось.
Таким образом, почему-то Опера, которая с весны выпускает очень много обновлений, "блокирует" запуск и отработку скрипта authorize.php (именно после его успешной отработки появляется то само окно, где написано, что модули успешно загружены и обновлены, и где предлагается запустить обновление бд).

Аватар пользователя marassa marassa 20 сентября в 8:10
1

l8ki wrote: Опера, которая с весны выпускает очень много обновлений, "блокирует" запуск и отработку скрипта authorize.php

Как-то это очень странно. Браузер никак не может заблокировать запуск скрипта на сервере. Он даже и не знает ни о каких скриптах на сервере - он отдает запрос на сервер и получает ответ, а уж как сервер этот ответ формирует - совершенно не его забота.

Аватар пользователя l8ki l8ki 21 сентября в 0:58

marassa wrote: Как-то это очень странно. Браузер никак не может заблокировать запуск скрипта на сервере. Он даже и не знает ни о каких скриптах на сервере - он отдает запрос на сервер и получает ответ, а уж как сервер этот ответ формирует - совершенно не его забота.

Странно, это правда. "Блокирует" - в смысле, конкретно при нажатии кнопки происходит только обновление этой страницы в Опере, а в Хроме при нажатии той же кнопки происходит запуск и отработка скрипта. Может быть, косвенно виноват включённый в Опере режим блокировки рекламы.