Тема: Не идет автоматическое обновление

На хостинге не идет обновление, уже час висит сообщение:

Идет обновление...
0%
Создание точки восстановления системы

Директория storage/tmp/siteupdate/backup при этом имеет время изменения - приблизительно начала обновления
Это вторая попытка обновиться на хостинге, первая тоже зависла. Чтобы уменьшить нагрузку, сейчас обновляю не все, а только ядро: с версии 2.0.0.121 до 2.0.0.129
До этого обновлял сразу все модули на локальном сервере - прошло успешно.
Shop.Middle, лицензия, хостинг виртуальный
Судя по данным в Cpanel журнал ошибок пуст, но во время попытки обновления до максимума возрастает Input/Output Usage - с 0 до 1МБ/с - думаю в этом проблема
Подскажите, как с этим бороться? не хочется обновлять руками.

Повысить оценку Понизить оценку

2 Отредактировано Александр (05.03.2015 14:28:10)

Re: Не идет автоматическое обновление

Ну тут скорее всего 2 вещи возможны на мой взгляд.
1. max_execution_time надо увеличить на сервере. Обычно это 30 секунд. Возможно просто у Вас сервер не успевает отработать за 30 секунд. Поставьте там ему минут 5 хотя бы.
2. Проверьте права на запись и владельца storage/tmp/siteupdate/backup. Она должна быть 755. Владелец файлов и папок - пользователь, от которого работает PHP. PHP должен работать как CGI.

3

Re: Не идет автоматическое обновление

Перед началом обновления система копирует файлы модулей, которые предстоит обновить.

В случае, если будут обновляться абсолютно все модули, то копированию подлежит объем, приблизительно 60 Мб.
Такой небольшой объем система копирует за несколько секунд, что соответственно должно создавать кратковременный пик использования диска. Это нормально.

Чтобы точно узнать причину, по которой дальше данного шага не проходит установка, можно включить отображение ошибок. Способом, описанным здесь: http://readyscript.ru/faq/#faq-errors.
Далее посмотреть, с помощью инструментов отладки браузера, что возвращает система на ajax запрос Создания точки восстановления.

Наиболее вероятны те причины, о которых пишет Александр.

Повысить оценку Понизить оценку

4

Re: Не идет автоматическое обновление

max_execution_time увеличил до 1800, права на все папки 755, php запущен как cgi

В консоли браузера после запуска появляется 3 сообщения:
1. сразу появляется - XHR finished loading: POST "http://medtechnika.by/admin/siteupdate- … ?do=update".
2. через 40 секунд - POST http://medtechnika.by/admin/siteupdate- … ?do=update 500 (Internal Server Error)
3. и сразу - XHR finished loading: POST "http://medtechnika.by/admin/siteupdate- … ?do=update".

Файлы в папке backup обновляются, я так понимаю, точка восстановления создается, а дальше уже ошибка.

Повысить оценку Понизить оценку

5

Re: Не идет автоматическое обновление

Включите display_errors ON (добавив строку ini_set('display_errors', 1); в setup.inc.php ), тогда непосредственно текст ошибки можно будет увидеть в графе response (ответ сервера) у запроса с кодом 500, в инструментах отладки браузера.

Повысить оценку Понизить оценку

6

Re: Не идет автоматическое обновление

Написал в тех.поддержку хостинга. Ответили, что Apache работает в режиме FastCGI и переменная FcgidIOTimeout (лимит ожидания ответа от FastCGI-приложения) глобально  установлена в 40 секунд.
Они увеличили лимит ввода-вывода до 2 МБ/с и увеличили значение FcgidIOTimeout до 120 с.
После этого обновление прошло успешно.
Спасибо за советы!

Повысить оценку Понизить оценку

7

Re: Не идет автоматическое обновление

Спасибо, что поделились решением. Огласите, пожалуйста, название хостинга. Ограничение на I/O на хостинге -это жестко. В php ведь нет команды "копировать файлы, но не быстро", чтобы уложиться в I/O лимит хостинга. ( вариант - читать побайтово и ставить слипы - считаю просто диким )

Повысить оценку Понизить оценку

8

Re: Не идет автоматическое обновление

хостинг login.by

Повысить оценку Понизить оценку