Здравствуйте.
При стандартном обновлении модулей, которое на протяжении 7лет проходило "на ура" вылезла ошибка:
Ошибка загрузки обновлений:
Error while opening {temporary://update-extraction-68fc0734/jquery_update/README.md} in write binary mode
Error while opening {temporary://update-extraction-68fc0734/ckeditor/CHANGELOG.txt} in write binary mode
Error while opening {temporary://update-extraction-68fc0734/ctools/API.txt} in write binary mode
Error while opening {temporary://update-extraction-68fc0734/smtp/README.txt} in write binary mode
Error while opening {temporary://update-extraction-68fc0734/taxonomy_menu/README.txt} in write binary mode
Error while opening {temporary://update-extraction-68fc0734/views/D7UPGRADE.txt} in write binary mode
Error while opening {temporary://update-extraction-68fc0734/webform/README.md} in write binary mode
Откат и попытка снова обновить приводят к тому же результату.
В поиске не нашел. Техподдержка хостинга пока тоже.
Помогите, пожалуйста.
Комментарии
Посмотрите в настройках файловой системы временную папку. Проверьте, существует ли она и доступна ли для записи
Да, папка temp в корневой папке сайта есть, права 0777
такое же название папки прописано в admin/config/media/file-system в качестве временного каталога
Да, папка есть и модули туда закачиваются в архиве каждый, потом каждый (каждое обновление) распаковывается, но в итоге
Error while opening {temporary://update-extraction-68fc0734/jquery_update/README.md} in write binary mode
Ошибка при открытии в двоичном режиме записи
что это значит? что и где нужно исправить?
Не может ли такого быть, что временная папка и/или указанные файлы в ней уже существуют (например от предыдущей неудачной попытки обновления) и залочены другим процессом? Если так, попробуйте почистить папку. Не получится - попробуйте перезагрузить сервер.
Да, файлы во временной папке были:
папки: update-cache-68fc0734 и update-extraction-68fc0734 (обе с правами 777)
файл: .htaccess (с правами 444)
Все удалил.
Зтем в admin/config/media/file-system проверяю путь к временной папке. Нажимаю сохранить. Появляется только файл: .htaccess (с правами 444).
Запускаю из админки обновление. В итоге те же ошибки и во временной папке появляется такое же содержимое, что и было в начале.
Проверьте размеры архивов *.tar.gz в папке update-cache-68fc0734
Если они меньше реального размера на drupal.org, то скачайте архивы вручную и положите в эту папку.
Далее попробуйте обновить модули ещё раз.
Чудеса.
В качестве временной меры, если прям щас позарез необходимо обновиться, можно распаковать архивы нужных модулей вручную и залить в папки соответствующих модулей (предварительно очистив их) и запустить /update.php (или как оно там в семерке называлось). А потом уж спокойно продолжать разбираться почему не работает обновление из админки. По идее надо вспоминать что могло меняться в конфигурации сервера. Такие вещи просто так без причины не выскакивают.
Два сайта с одинаковой проблемой на виртуальном хостинге известного провайдера находятся уже несколько лет. Раньше сам не сталкивался с подобными ошибками.
Обращался в техподдержку с вопросом об ошибке, тоже не могут понять. Спрашивал их меняли ли что-нибудь в настройках сервера, говорят, что нет. При мне еще раз все просмотрели в настройках.
? однако
Ну тут видятся два варианта:
- проблема всё-таки на стороне провайдера
- если оба сайта используют одну и ту же версию ядра Друпала, и проблема появилась после ее установки, то возможен какой-то глюк Друпала, но тогда это было бы видно в issues на орге.
Но системный софт-то наверняка обновляли.
PS Кстати версия PHP точно соответствует рекомендованной для текущей версии Друпала?
Проверил. Размеры соответствуют.
в целом места хватает на сервере/по тарифу?
Когда близко к пределам, могут вылазить всякие косяки подобного рода..
Места еще 8 ГБ
ВОПРОС РЕШЕН
Сегодня, после того, как сам попробовал разные способы устранения ошибки (в том числе, благодаря Вашим подсказкам, за что благодарен всем) + обращений к хостинг-провайдеру (2-е суток ребята не могли ничего найти, предлагал им сменить сервер и проверить. Они написали, что установили Drupal и провели обновление, и оно прошло без ошибок. Однако позже пришло сообщение, что тест был сделан на другом сервере, и предложение перенести сайты на него, с вопросом "Вы согласны?") Сразу подтвердил согласие, сайт перенесли и все стало работать без ошибок. Почему нельзя было сразу так сделать/проверить?
Пишу для того, чтобы те, кто столкнется, знали что сделать.