Обновление движка — это два действия сразу: заменяются файлы и приводится в порядок база. Страшно оно только тогда, когда нет пути назад. В Nex1on путь назад есть всегда: движок сам делает копию базы и точку возврата файлов, ничего не ставится без вашего слова, а если после обновления сайт не отвечает, прежнюю версию можно вернуть одним нажатием. Ниже — как обновиться спокойно и что делать, если что-то пошло не так.
Как вы узнаете, что вышла новая версия #
Если проверка обновлений включена, движок раз в неделю спрашивает nex1on.com, не вышла ли новая версия (уходят только домен, версия движка и версия PHP). Если вышла, придёт письмо «Вышла версия Nex1on …» (по одному письму на версию), а на странице «Система → Обновления» появится надпись «Вышла версия …. Посмотрите, что изменилось, и решите сами». Ничего не ставится само: письмо лишь сообщает, что есть что читать. Проверку можно отключить: в «Настройки → Общие» выберите «Проверять обновления: не проверять».Что делает движок при обновлении #
Страница обновления идёт по шагам, и вы видите каждый из них:- Проверяет требования: хватает ли свежести PHP и свободного места, можно ли писать в файлы движка.
- Скачивает архив и проверяет его подпись: архив, не совпавший с подписанным хэшем, не ставится.
- Делает копию базы и точку возврата файлов (копия снимается и перед применением изменений базы). Если копию создать не получится, обновление не начнётся.
- Заменяет файлы движка. Пока они меняются, посетители видят страницу «обслуживание». Папки config и storage не трогаются, настройки, загрузки и данные остаются как были, старые файлы уходят в копию.
- Применяет изменения базы (миграции) и проверяет, что сайт отвечает.
Шаг 1. Подготовьтесь #
Откройте «Система → Обновления». Прежде чем нажимать «Обновить», сделайте три вещи.- Прочитайте, что изменилось. Страница «Перед обновлением до версии …» показывает описание версии. Полный журнал изменений лежит в файле CHANGELOG в папке движка.
- Проверьте требования. Движок покажет, какой PHP у вас и какой нужен, сколько свободного места и можно ли писать в файлы движка. Если что-то не выполнено, кнопка «Обновить» неактивна, и сказано, что исправить.
- Посмотрите, нет ли ваших правок в файлах движка. Если вы меняли файлы движка, обновление заменит их файлами выпуска, и ваши правки пропадут. Страница скажет, сколько таких файлов, и предложит «Сохранить мои изменения архивом». Лучше переносить правки в свою тему или свой модуль: они обновлением не затрагиваются.
Шаг 2. Обновитесь #
Нажмите «Обновить». Страница идёт по шагам, и ей лучше не мешать: закрыли вкладку — вернитесь на эту же страницу, обновление продолжится с того же места. Когда всё прошло, движок пишет: «Движок обновлён до версии …, база приведена в порядок, сайт отвечает», а копия базы остаётся на странице «Обновление». Если часть модулей не обновилась, это будет сказано отдельно, с именем копии.Шаг 3. Если что-то пошло не так #
Движок сам проверяет, отвечает ли сайт после замены файлов. Если ответ неверный, он возвращает прежнюю версию без вашего участия: «Сайт отвечает неверно. Возвращаю прежнюю версию…», а потом пишет «Прежняя версия возвращена». Вам придёт письмо «Обновление … отменено». Если автоматически вернуть не вышло, откройте страницу возврата (её адрес показан на странице обновления), введите ключ и нажмите «Вернуть прежнюю версию сейчас». Файлы прежней версии лежат также архивом в storage/recovery/files.zip. Причина, по которой обновление не прошло, называется прямо:- Новой версии нужен более свежий PHP. Обновите PHP у хостинга или подождите.
- Архив не совпал с подписанным хэшем. Скачивание повредилось: повторите.
- Архив больше обещанного или не хватает места. Освободите место на диске.
- Сервер обновлений не ответил или оборвал скачивание. Повторите позже.
- Не применились изменения базы. Подробности в журнале ошибок; копия перед запуском сохранена.
- Пока вы нажимали, на сервере вышла другая версия. Откройте страницу обновления заново.
Обновление вручную #
Если серверу нельзя писать в файлы движка или вы хотите обновиться сами, обновитесь вручную: скачайте архив новой версии на странице выпусков, распакуйте и загрузите поверх файлов движка, не трогая config и storage. Затем откройте раздел «Обновление» и нажмите «Применить»: изменения базы сами не применяются. Пароли от FTP в панель вводить не нужно: они здесь не принимаются и не сохраняются.Что проверить #
- Вы прочитали описание версии и список требований.
- Своих правок в файлах движка нет, а если есть, они сохранены архивом.
- Свежая копия базы есть, и вы знаете, где она лежит.
- В config/local.php задан ключ сайта (app.key не короче 32 знаков): без него возврат недоступен.
- Ключ возврата сохранён, пока обновление не подтверждено.
- После обновления вы открыли главную, несколько внутренних страниц и панель, а в «Состоянии системы» нет красного.
Если что-то пошло не так #
- Кнопка «Обновить» неактивна. Выполните требования, которые перечислены на странице: версия PHP, свободное место, право записи в файлы.
- «Возврат недоступен: задайте ключ сайта». Впишите app.key (не короче 32 знаков) в config/local.php; без него билет возврата нечем подписать.
- Возврат недоступен: в папки storage/recovery и public не удалось записать, либо нет расширения ZIP. Дайте серверу право записи в эти папки и включите ZIP у хостинга.
- Обновление оборвалось на полпути. Сайт может быть в смешанном состоянии: нажмите «Вернуть прежнюю версию сейчас» или воспользуйтесь ключом возврата.
- Новые возможности не появились. На странице обновления сказано, сколько изменений базы ждёт применения: пока они не применены, сайт работает на старых таблицах.

Пока никто не высказался. Будьте первым.