Перейти к содержанию

Руководство по обновлению Grav с версии меньше 1.6⚓︎

Это руководство было протестировано для Grav v1.2.0 и всех более поздних версий.

Обновление Grav непосредственно до последней версии работает, но не полностью поддерживается и, скорее всего, приведет к поломке вашего сайта!

Подготовка⚓︎

Самый простой способ обновить старые версии Grav — создать копию вашего сайта на сервере Linux/Unix, который поддерживает PHP 7.3 и SSH для доступа к командам CLI. Это руководство также работает с подсистемой Linux для Windows 10, но если она не установлена, вам, возможно, придется загрузить и переименовать пакеты обновлений вручную.

PHP 7.3 был выбран потому, что это единственная версия PHP, которая может использоваться для всех версий Grav. Вы также можете использовать PHP 7.1 или 7.2, но это позволит вам обновить Grav только до версии 1.6.31. На этом этапе вам нужно будет переключиться на PHP 7.3 или 7.4, прежде чем продолжить процесс обновления. PHP 8 следует использовать только после обновления до Grav 1.7 или более поздней версии.

Это руководство включает инструкции по обновлению Grav и наиболее часто используемые плагины: Problems, Error, Form, Email, Login и Admin. Для всех остальных плагинов убедитесь, что они все еще поддерживаются и поддерживают как Grav 1.6, так и последнюю версию Grav. На момент написания этого руководства почти все активно поддерживаемые плагины должны входить в эту категорию. Самые безопасные плагины — это те, которые были обновлены после выпуска Grav 1.7.0 (18.01.2021) или были подтверждены для работы в Grav 1.7.

Ваша тема и любые настраиваемые или неподдерживаемые плагины потребуют дополнительной работы. Любой пользовательский код следует проверить, чтобы убедиться, что он по-прежнему работает с текущими версиями Grav и PHP. То же самое верно и для файлов Markdown, YAML и Twig, поскольку в последних версиях библиотек есть исправления, которые выявляют ошибки, что обычно означает, что анализ поврежденных файлов завершится неудачно. Новые версии Grav предоставляют инструменты для проверки этих файлов, но проверки не выявляют всех проблем, поэтому также необходимо некоторое тестирование.

Контрольный список (с помощью консоли и Grav CLI):

  • Сделать резервную копию
  • Выяснить версию Grav командой bin/gpm version grav
  • Проверить версию PHP CLI командой php -v, версия должна быть не ниже PHP 7.3.6
  • Проверьте версию PHP-сервера, она должна быть такой же, как и версия PHP CLI
  • Перечислить все установленные плагины и распределить их по категориям (поддерживаемые, настраиваемые, неподдерживаемые)
  • Сделать то же самое со своими темами

Переход к Grav 1.6.31⚓︎

В этой части предполагается, что вы уже сделали копию своего сайта и команды интерфейса командной строки работают. Пользователям Windows, у которых не установлена ​​подсистема Linux, необходимо вручную загрузить файлы и переименовать их.

Выполните следующие команды в корневой папке вашего сайта Grav (опустите параметр -y в команде GPM, если вы используете Grav 1.2 или ниже):

wget -q https://getgrav.org/download/core/grav-update/1.6.31 -O tmp/grav-update-v1.6.31.zip

bin/gpm direct-install -y tmp/grav-update-v1.6.31.zip

Grav также можно обновить вручную. Удалите следующие папки: assets bin system vendor webserver-configs и скопируйте/перезапишите все файлы из zip-файла обновления Grav. Обратите внимание, что файлы в zip-файле находятся внутри директории grav-update.

Далее нам нужно обновить базовые плагины.

wget -q https://getgrav.org/download/plugins/problems/2.0.3 -O tmp/grav-plugin-problems-v2.0.3.zip
wget -q https://getgrav.org/download/plugins/error/1.7.1 -O tmp/grav-plugin-error-v1.7.1.zip
wget -q https://getgrav.org/download/plugins/form/4.3.0 -O tmp/grav-plugin-form-v4.3.0.zip
wget -q https://getgrav.org/download/plugins/email/3.1.0 -O tmp/grav-plugin-email-v3.1.0.zip
wget -q https://getgrav.org/download/plugins/login/3.3.8 -O tmp/grav-plugin-login-v3.3.8.zip
wget -q https://getgrav.org/download/plugins/admin/1.9.19 -O tmp/grav-plugin-admin-v1.9.19.zip


bin/gpm direct-install -y tmp/grav-plugin-problems-v2.0.3.zip
bin/gpm direct-install -y tmp/grav-plugin-error-v1.7.1.zip
bin/gpm direct-install -y tmp/grav-plugin-form-v4.3.0.zip
bin/gpm direct-install -y tmp/grav-plugin-email-v3.1.0.zip
bin/gpm direct-install -y tmp/grav-plugin-login-v3.3.8.zip
bin/gpm direct-install -y tmp/grav-plugin-admin-v1.9.19.zip

В качестве альтернативы плагины можно установить вручную, просто удалив все файлы в директории user/plugins/pluginnname и скопировав туда обновленные файлы из архива. Обратите внимание, что файлы в zip-файле находятся внутри папки с полуслучайным именем (требующим переименования).

Обновление до Grav 1.7⚓︎

Выполните следующие команды CLI одну за другой и следуйте их инструкциям:

bin/gpm self-upgrade
bin/gpm update

Вы также можете обновить другие плагины один за другим до последней версии, но, пожалуйста, делайте это только в том случае, если последняя версия плагина поддерживает Grav 1.6. Остальные плагины должны быть отключены, если вы не уверены, что они будут работать. Они могут быть повторно включены позже, когда вы будете тестировать сайт.

Если у вас нет сломанных плагинов, то панель администрирования и сайт должны быть полностью работоспособны на данный момент.

Избегайте дальнейшего обновления Grav или плагина админки до того, как прочитаете статью Обновление до Grav 1.7. Вы можете в конечном итоге сломать как свой сайт, так и админку.