Обновление Drupal 10 до Drupal 11: Пошаговое руководство

alexei16/07/2025 - 18:19
Обновление Drupal 10 до Drupal 11: Пошаговое руководство

Обновление сайта Drupal с версии 10 до 11 — отличный способ сохранить ваш сайт защищенным, быстрым и готовым к будущему. Drupal 11, выпущенный в августе 2024 года, предлагает захватывающие функции, такие как улучшенная производительность, модернизированный пользовательский интерфейс и обновленные API для бесшовной интеграции с современными технологиями.

Переход с Drupal 10 на 11, благодаря семантическому версионированию Drupal, проходит более гладко, чем предыдущие крупные обновления. В этом руководстве мы проведем вас через процесс с практическими шагами, чтобы обеспечить беспроблемное обновление.

Следуйте нашему пошаговому руководству, чтобы обновить ваш сайт Drupal без проблем.

Зачем обновляться до Drupal 11?

Прежде чем приступить непосредственно к обновлению, давайте рассмотрим, почему необходимо такое обновление.

Итак, Drupal 11 предлагает:

  • Улучшенная безопасность: Более строгие правила доступа к API и автоматические обновления делают ваш сайт более безопасным.
  • Лучшая производительность: Оптимизированный кэш и более быстрые запросы к базе данных означают более высокую скорость загрузки страниц сайта.
  • Современные функции: Обновления, такие как автоматическое форматирование CKEditor 5, Symfony 7 и компоненты с одним каталогом (SDC), упрощают управление контентом и разработку.
  • Готовность к будущему: Поддержка Drupal 10 заканчивается в середине 2026 года, поэтому обновление сейчас позволит вам идти в ногу со временем.

Итак, приступим к обновлению Drupal 10 до Drupal 11.

Шаг 1: Подготовка вашего сайта

Подготовка — ключ к плавному обновлению. Вот что нужно сделать:

  • Создайте резервные копии: Сохраните свой код, базу данных и файлы с помощью таких инструментов, как Drush (drush sql-dump) или функции резервного копирования вашего хостинг-провайдера. Проверьте резервную копию, чтобы убедиться, что она восстанавливается.
  • Обновитесь до Drupal 10.3+: Drupal 11 требует как минимум Drupal 10.3.0. Запустите команду composer update drupal/core-recommended --with-dependencies, чтобы обновить.
  • Проверьте требования к хостингу: Убедитесь, что у вас установлены PHP 8.3+, MySQL 8.0+, MariaDB 10.6+ или PostgreSQL 16+. Обратите внимание, что Microsoft IIS не поддерживается.
  • Проведите аудит вашего сайта: Удалите неиспользуемые модули, темы или контент, чтобы упростить процесс.

Шаг 2: Проверьте совместимость модулей и тем

Drupal 11 удаляет устаревшие модули и обновляет зависимости. Убедитесь в совместимости с помощью следующих шагов:

  • Установите модуль Upgrade Status: Используйте команду composer require drupal/upgrade_status и запустите drush upgrade_status:analyze. Проверьте отчет на Admin > Reports > Upgrade Status.
  • Обновите сторонние модули: Запустите команду composer update и проверьте совместимость модулей на Drupal.org.
  • Проверьте пользовательский код: Используйте Drupal Rector (composer require --dev palantirnet/drupal-rector), чтобы исправить устаревший код.
  • Разберитесь с удаленными из ядра модулями: Установите сторонние версии удаленных основных модулей (например, Statistics или Book), чтобы сохранить функциональность сайта.

Шаг 3: Настройте промежуточную среду

Никогда не проводите обновление на рабочем сайте. Создайте промежуточную среду:

  • Скопируйте свой сайт: Скопируйте свой код и базу данных на отдельный сервер или в локальную среду.
  • Проверьте функциональность: Прежде чем продолжить, убедитесь, что всё работает, как ожидается.

Шаг 4: Выполните обновление

После подготовки вашего сайта выполните следующие шаги:

1 Предоставьте права на запись:


chmod 777 web/sites/default
chmod 666 web/sites/default/*settings.php
chmod 666 web/sites/default/*services.yml

2 Обновите ядро с помощью Composer:


composer require 'drupal/core-recommended:^11' 'drupal/core-composer-scaffold:^11' 'drupal/core-project-message:^11' --no-update
composer require 'drush/drush:^13' --no-update
composer update

3 Запустите обновления базы данных:


drush updb -y
drush cr -y

4 Экспорт конфигурации:


drush cex -y

5 Верните права на файлы:


chmod 755 web/sites/default
chmod 644 web/sites/default/*settings.php
chmod 644 web/sites/default/*services.yml

Шаг 5: Проведите тщательное тестирование

Проверьте свой сайт в промежуточной среде:

  • Проверьте ключевые функции (формы, представления, типы контента).
  • Проверьте пользовательские и сторонние модули.
  • Проверьте работу на разных браузерах и устройствах.
  • Просмотрите отчет о состоянии (Admin > Reports > Status) на наличие ошибок.

Шаг 6: Разверните сайт на рабочем хостинге

После тестирования разверните сайт на рабочем хостинге:

  • Создайте резервную копию вашего рабочего сайта.
  • Разверните обновленный код и базу данных.
  • Запустите drush updb -y и drush cr -y.
  • Проверьте наличие проблем.

Советы по устранению неполадок

  • Ошибки Composer: Используйте composer why-not drupal/core 11.0.0, чтобы выявить проблемы с зависимостями.
  • Отсутствующие модули: Установите сторонние версии удаленных основных модулей.
  • Проблемы с пользовательским кодом: Проверьте решения проблем с модулями в сообществе Drupal для ручного исправления.
  • Проблемы с производительностью: Оптимизируйте настройки кэширования после обновления.

Заключительные мысли

Обновление с Drupal 10 до Drupal 11 при тщательном планировании вполне управляемо и легко осуществимо. Обновившись до Drupal 10.3+, проведя аудит модулей, исправив код и тщательно протестировав, вы минимизируете риски. В результате вы получите более быстрый, безопасный сайт, готовый к современным функциям Drupal 11.