
Обновление сайта 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.