Обновяване на Drupal с Composer и Drush

Съвременният сайт на Drupal (версия 8 и по-нова) е Composer проект. Затова ядрото и модулите се обновяват с Composer, а обновленията на базата данни се изпълняват с Drush. Така кодът, зависимостите и базата данни остават синхронизирани.

Преди да започнете

  • SSH достъп до Вашия хостинг акаунт.
  • Сайт на Drupal, изграден с Composer (в папката на проекта има файл composer.json).
  • Drush като зависимост на проекта, достъпен чрез vendor/bin/drush.

Внимание: версията на PHP в командния ред може да се различава от версията, която сте избрали за домейна си в DirectAdmin. Проверете това с php -v. Ако не съвпада, попитайте поддръжката за пътя до правилната PHP версия.

Стъпка 1 — Направете резервно копие

Направете резервно копие на файловете и базата данни с Backuply в DirectAdmin. Ако обновлението се провали, възстановявате всичко с два клика.

Стъпка 2 — Проверете наличните обновления

cd ~/drupal
composer outdated "drupal/*"
vendor/bin/drush pm:security

pm:security показва кои модули имат обновление за сигурност. Тях обновявате първо.

Стъпка 3 — Обновете ядрото и модулите

composer update "drupal/core-*" --with-all-dependencies
composer update drupal/imenamodul --with-dependencies

Заменете imenamodul с машинното име на модула. При нова основна версия първо прочетете бележките към изданието.

Стъпка 4 — Обновления на базата данни и кеш

vendor/bin/drush updatedb -y
vendor/bin/drush cache:rebuild

Ако пазите експортирана конфигурация в Git, използвайте vendor/bin/drush deploy. Командата изпълнява обновленията на базата данни, импортира конфигурацията и изчиства кеша в правилния ред.

Стъпка 5 — Проверете сайта

Отворете в администрацията Отчети › Отчет за състоянието и проверете дали няма грешки или чакащи обновления. След това прегледайте няколко важни страници и формуляри.

Повече за Drupal в Actiefhost ще намерите на страницата Drupal хостинг. Нуждаете се от помощ? Свържете се с поддръжката.

Беше ли полезна тази статия?

Споделете тази статия

Facebook Twitter LinkedIn