Access to this page has been denied.
You have been blocked because we believe you are using automation tools to browse the website.
This may happen as a result of the following:
- Javascript is disabled or blocked by an extension (ad blockers for example)
- Your browser does not support cookies
If you think you have been blocked by mistake, please contact help@drupal.org with the reference ID below.
Reference ID: #fd6b4e05-b644-11ee-841c-d9c8db82ae43
Powered by PerimeterX , Inc.
Drupal 9 как обновить

Итак, расскажу как я обновил ядро на 9.4.6. Почти инструкции, но это не точно. Пока оставлю это здесь для себя, что бы ни чего по возможности не забыть. После выхода новой версии повторю, а там и будет ясно на сколько эта статья будет полезна.
Инструкция не предполагает использования таких инструментов как Drush или Composer. Все операции буду делать руками с помощью инструментов терминала, а так же веб интерфейса самого движка Drupal.
Первое, перевёл сайт в режим «Обслуживание». В меню администратора «Управление» перейти в Конфигурация > Разработка > Режим обслуживания
На странице Режим обслуживания отметить галочку «Перевести сайт в режим обслуживания»
Нажмите Сохранить конфигурацию.
Убедитесь, что сайт находится в режиме обслуживания, открыв его с другого браузера, где вы не вошли в систему. Если режим обслуживания не включился очистите КЭШ. В «Управление» меню администратора, перейдите на Конфигурация > Разработка > Производительность
- Нажмите Очистка кэша.
- Сообщение об успешной очистке кэша появится сверху страницы.
Если это не помогает решить проблему, попробуйте вместо очистки кэша, перестроить кэш. Откройте settings.php (/sites/default/settings.php) в любом текстовом редакторе. Добавьте следующую строчку в конце файла и сохраните его:
Зайдите http://www.example.com/core/rebuild.php в вашем браузере, где www.example.com адрес вашего сайта. После короткой паузы, вы будете перенаправлены на главную страницу вашего сайта и кэш будет перестроен.
Откройте settings.php (/sites/default/settings.php). Найдите строчку, которую вы добавили до этого с $settings[rebuild_access], удалите ее и сохраните файл.
После того как ваш сайт перешёл в режим обслуживания проверьте Конфигурация > Разработка > Производительность в пункте статус «Кэширования». Если включено отключите на время обновления!
Через терминал в режиме ROOT запускаю прекрасный инструмент Midnight Commander и делаю резервную копию каталога с сайтом. На данный момент он весит не очень много поэтому могу себе это позволить. Инструкция подразумевает делать бэкап следующих данных:
Данные в папке sites, включая файл sites/default/settings.php.
Загруженные файлы, такие как изображения и другие прикрепленные файлы. Местоположение этих файлов настраивается; стандартное местоположение это папка sites/default/files относительно корня сайта. В Управлении меню администратора, перейдите на страницу Конфигурация > Медиа > Файловая система (admin/config/media/file-system) проверьте папку для загрузки файлов; вы можете изменить папку для файловой системы, вы также можете это сделать это в файле settings.php.
Модули, темы оформления и любые другие пользовательские файлы, которые вы добавили. Вы можете найти пользовательские модули и темы оформления в папках modules и themes со всеми вложенными папками. Некоторые люди предпочитают создать резервную копию всех файлов, включая файлы Drupal, модулей и тем оформления (которые вы сможете восстановить загрузив их снова из исходников), прежде чем пытаться собрать проект из источников, которые необходимо использовать.
Далее через терминал скачиваем архив с новой версией CMS Drupal в удобный вам каталог. Команда wget
Распаковать скачанный архив. Команда tar -xvf имя пакета
Откройте settings.php (/sites/default/settings.php). Найдите строчку с $settings[update_free_access] переменной.
По умолчанию, переменная установлена как «FALSE» по соображениям безопасности. Измените значение на «TRUE»:
Пример команды nano /sites/default/settings.php
В папке сайта, удалите папки core и vendor и все файлы, которые находятся в корне сайта, включая .htaccess, composer.json и autoload.php. Не удаляйте дополнительные и измененные файлы, потому что вы можете потерям часть дополнительного функционала, который основывается на этих файлах.
Скопируйте папки core и vendor и остальные не дополнительные и не пользовательские файлы, которые вы удалили в предыдущем шаге из папки на вашем сервере куда вы распаковали новый архив с CMS Drupal.
Запустите скрипт update.php используя следующие инструкции:
Откройте в браузере http://www.example.com/update.php (где www.example.com это адрес URL вашего сайта). Нажмите Продолжить на первом экране для запуска обновление и успешного завершения выполнения скрипта.
Если вы получили какие-то ошибки или предупреждения, запускайте update.php скрипт снова до тех пока все обновления не будут выполнены успешно.
Откройте settings.php (/sites/default/settings.php) в текстовом редакторе. Найдите строку с $settings[update_free_access] переменной и обновите ее на «FALSE»
Нажмите Страницы администрирования, чтобы вернуться в раздел администрирования вашего сайта.
Отключите режим обслуживания на вашем сайте.
Проверьте общую информацию о системе! После этого вы должны иметь обновленную работающую версию Drupal.
Источники:
Обновление ядра Drupal вручную
Если это еще не сделано, рекомендуется прочитать это введение, в котором кратко изложены все варианты, которые вы можете выбрать при обновлении Drupal 8.
PS! Эта процедура обновления также описана в руководстве пользователя.
Если вы установили какие-либо дополнительные модули со сторонними зависимостями с помощью Composer, вам нужно использовать другие параметры обновления, поскольку эти инструкции перезапишут каталог vendor/.
Обновление ядра Drupal 8
Шаги по обновлению ядра Drupal 8 с помощью ручной установки и командной строки (оболочки):
1. Сделайте резервную копию ваших файлов и базы данных. Полная резервная копия позволяет легко вернуться к предыдущей версии в случае сбоя обновления.
По желанию, если вы сделали ручные изменения в файлах, таких как .htaccess, composer.json или robots.txt, скопируйте их куда-нибудь, что легко найти. Потому что после того, как вы установили новое ядро Drupal, вам нужно будет повторно применить изменения. Например, Acquia Dev Desktop помещает файл .htaccess в каталог верхнего уровня, и без него будет работать только домашняя страница на вашем сайте.
Всегда возвращайтесь к резервной копии, если вы получаете фатальную ошибку в процессе обновления.
2. Используя Drupal, войдите под любым пользователем с правами «Администрирование обновлений программного обеспечения».
3. Используя Drupal, переведите свой сайт в режим обслуживания. Для этого:
— Перейдите через интерфейс администратора Administration > Configuration > Development > Maintenance mode.
— Установите флажок «Put site into maintenance mode».
— Нажмите «Сохранить конфигурацию (Save configuration)».
4. Выберите один из следующих двух вариантов, чтобы удалить файлы в каталоге верхнего уровня, а также в каталогах «core» и «vendor», оставив позади каталоги «modules», «profile», «sites», «themes»:
Использование оболочки
1. Перейдите в вашу установку Drupal.
cd /path/to/your/drupal/directory
2. Удалите каталоги ‘core’ и ‘vendor’
rm -rf core vendor
3. Удалите все файлы в каталоге верхнего уровня.
rm -f *.* .[a-z]*
Использование FTP-клиента
1. Перейдите в каталог Drupal.
2. Выберите все файлы в каталоге верхнего уровня (также скрытые файлы, начинающиеся с точки), а также каталоги «core» и «vendor» и удалите их. Не удаляйте каталоги ‘modules’, ‘profiles’, ‘sites’, and ‘themes’.
5. По желанию иногда обновление включает в себя изменения в файле default.settings.php. Это будет отмечено в примечаниях к выпуску. Вы можете найти примечания к выпуску для вашей версии на https://www.drupal.org/project/drupal. Внизу страницы проекта в разделе «Downloads» используйте ссылку для вашей версии Drupal для просмотра заметок о выпуске. Если вашей версии нет в списке, воспользуйтесь ссылкой «Просмотреть все выпуски». На этой странице вы можете прокрутить вниз или использовать фильтр, чтобы найти свою версию и примечания к выпуску. Если обновление содержит изменения в файле default.settings.php, выполните следующие действия.
- Скопируйте пользовательские и специфичные для сайта записи из резервной копии, которую вы сделали, в новый файл settings.php. Вам определенно понадобятся строки, предоставляющие информацию о базе данных, и вы также захотите скопировать любые другие настройки, которые вы добавили.
- Сделайте копию нового файла default.settings.php и назовите копию settings.php (перезаписав ваш предыдущий файл settings.php).
- Сделайте резервную копию вашего файла settings.php с другим именем.
- Найдите файл settings.php в каталоге /sites/* directory. (Обычно сайты / по умолчанию.)
6. Выберите один из следующих двух вариантов, чтобы получить новые файлы в каталог верхнего уровня и каталоги «core» и «vendor»:
Использование оболочки
1. В типичной командной строке Unix / Linux используйте следующие команды для загрузки и извлечения:
wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz tar zxf drupal-x.y.z.tar.gz
2. Эта команда создала новый каталог drupal-x.y.z /, содержащий все файлы и каталоги Drupal. Войдите в новый каталог и скопируйте каталог «core» и «vendor», а также файлы из каталога верхнего уровня в каталог установки Drupal:
cd drupal-x.y.z cp -R core vendor /path/to/your/drupal/directory cp *.* .[a-z]* /path/to/your/drupal/directory
Использование браузера и FTP-клиента
- Загрузите последнюю версию Drupal 8.x.x с веб-сайта https://www.drupal.org/download в каталог, находящийся за пределами вашего webroot.
- Распакуйте архив.
- Используйте FTP-клиент, чтобы загрузить каталоги «core» и «vendor», а также файлы из каталога верхнего уровня в каталог Drupal.
7. При необходимости повторно примените любые изменения вручную к таким файлам, как .htaccess, composer.json или robots.txt.
8. Используя ваш браузер, запустите update.php, посетив http://www.example.com/update.php (заменив www.example.com на ваше доменное имя). Это обновит основные таблицы базы данных.
По желанию, если вы не вошли в систему как пользователь с разрешением «Администрирование обновлений программного обеспечения» или с учетной записью обслуживания сайта (созданной во время установки), вы не сможете получить доступ к update.php. Вот шаги, чтобы обойти это ограничение:
— Откройте файл settings.php с помощью текстового редактора.
— Найти эту строку
$settings['update_free_access'] = FALSE;
— Измените значение FALSE на TRUE:
$ settings ['update_free_access'] = TRUE;
— Посетите страницу /update.php еще раз.
— После того, как вы выполнили все описанные выше шаги, для безопасности важно изменить настройку обратно на FALSE.
9. Используя браузер, войдите в систему администратора Drupal и выберите «Администрирование»> «Отчеты»> «Отчет о состоянии» (Administration > Reports > Status report). Убедитесь, что все работает как положено.
10. По-прежнему используя браузер, войдите в систему администратора Drupal и выберите Administration > Configuration > Development > Maintenance mode. Снимите флажок «Put site into maintenance mode» и нажмите кнопку «Сохранить».
11. После обновления удалите версию Drupal, которую вы скачали и распаковали ранее:
rm drupal-x.y.z.tar.gz rm -rf drupal-x.y.z/
12. Выполнено. Вы успешно обновили ядро Drupal 8 с помощью ручной установки и оболочки / браузера. 🙂
Drupal 9 как обновить
В этом руководстве вы узнаете, как подготовить сайт, созданный на Drupal 9, для обновления на Drupal 10, а затем обновить его.
¶Введение
Drupal 10.0.0 является практически идентичной копией Drupal 9.4.0, за исключением того, что в Drupal 10 удалён весь код который объявлен устаревшим за время поддержки Drupal 9.
Замена вызовов устаревшего API на новый API — является основной задачей при обновлении. Если вы уделяли достаточное внимание коду в процессе поддержки сайта на Drupal 9, обновление должно быть максимально простым, как если бы вы обновлялись на новый минорный релиз Drupal 9.
Обновление можно свести к двум основным этапам:
- Подготовка Drupal 9: На данном этапе необходимо будет привести в порядок сайт на Drupal 9. Для этого нужно обновить Drupal ядро до актуального состояния, все сторонние используемые модули, а также привести в порядок свои модули и темы оформления.
- Обновление до Drupal 10: На этом этапе будет производиться обновление зависимостей.
В данном руководстве расписаны все этапы, для того чтобы подготовить и обновить свой проект с Drupal 9 до Drupal 10.
¶Рекомендуемые инструменты
Далее в руководстве будут предлагаться различные варианты решения тех или иных задач, вы вольны выбирать способ и инструмент. Все они опциональны, но их использование облегчит, и ускорит процесс многократно.
- PHPStorm — IDE для PHP, может помочь как с поиском, так и устранением проблем, необходимых для обновления.
- Upgrade Status — модуль для Drupal, который позволяет провести комплексную проверку на готовность проекта к обновлению. Данный модуль рекомендуется использовать в процессе подготовки к обновлению. Он устанавливается ( composer require drupal/upgrade_status ) исключительно при помощи Composer, в противном случае он не будет работать. Важно: данный модуль должен быть отключен перед обновлением и удалён после обновления.
¶Подготовка проекта к обновлению
В данном разделе описаны этапы, которые помогут вам подготовить сайт на Drupal 9 к последующему обновлению на Drupal 10.
Прежде чем начать подготовку к обновлению, настоятельно рекомендуется сделать резервную копию проекта и базы данных. После каждого успешно пройденного этапа вы можете делать новую резервную копию, чтобы не повторять все предыдущие действия.
Подготавливайте сайт к обновлению на локальном сервере, или сервере для разработки.
¶Проверка системных требований
Прежде чем начать что-то делать с сайтом, убедитесь что ваш текущий боевой сервер соответствует системным требованиям Drupal 10.
Сводка:
- Минимальная версия PHP увеличена до 8.1.
- База данных должна поддерживать тип данных JSON.
- Если вы используете MySQL или Percona Server — минимальная версия 5.7.8.
- Если вы используете MariaDB — минимальная версия 10.3.7.
- Если вы используете PostgreSQL — минимальная версия 12 с включенным расширением pg_trgm .
- Если вы используете SQLite — минимальная версия 3.26.
¶С использованием Drupal
Для того чтобы узнать об имеющихся проблемах и потенциальной несовместимости с будущим релизом, вы можете обратиться к стандартной странице «Отчёт о состоянии», для этого:
- Перейдите на страницу: «Отчёты» → «Отчёт о состоянии»
- Убедитесь что разделы «Веб-сервер», «PHP» и «База данных» используют рекомендуемые или более свежие версии.
- Найдите проверку «Database support for JSON», она должна иметь значение «Available».
¶С использованием Upgrade Status
Для того чтобы узнать об имеющихся проблемах и потенциальной несовместимости с будущим релизом, вы можете использовать Upgrade Status, для этого:
- Перейдите на страницу: «Отчёты» → «Upgrade Status»
- Изучите все обнаруженные проблемы в разделе «Drupal core and hosting environment»
![]()
¶Обновление ядра Drupal 9
Перед обновлением вам потребуется актуальная версия Drupal 9. Минимальная версия, необходимая для обновления до Drupal 10 — Drupal 9.3.0 ( #3261486 в Drupal 10.0.0).
Хоть Drupal и предоставляет возможность обновиться до Drupal 10, пропустив Drupal 9.4.0, настоятельно не рекомендуется так делать.
В Drupal 9.4.0 пометили часть API устаревшим, не обновившись до данной версии, вы узнаете об этом только когда ваш сайт упадёт с исключением на Drupal 10. Эти проблемы могут всплыть уже в ходе использования Drupal 10 на боевом сервере.
¶Подготовка собственных модулей и тем оформления
Если на вашем проекте есть собственные модули и/или темы оформления, то вам необходимо убедиться что они в актуальном состоянии и совместимы с Drupal 10.
¶Обновите свойство core_version_requirement
Прежде всего, вам необходимо обновить свойство core_version_requirement в *.info.yml файлах. На момент обновления он должен содержать как Drupal 9, так и Drupal 10:
core_version_requirement: ^9 || ^10
¶Удалите свойство core
Убедитесь, что *.info.yml файлах не используется свойство core . Его нужно удалить, в противном случае будет выброшено исключение.
¶Обновите PHP код
Самая главная задача — нужно найти все вызовы устаревшего API и обновить код чтобы он использовал новый API.
Например, ваш модуль использует функцию drupal_get_path() , которая объявлена устаревшей в Drupal 9.3.0. Данная функция удалена в Drupal 10, это означает, что ваш код, который использует эту функцию, перестанет работать.
Для того чтобы узнать что нужно делать в такой ситуации, в Drupal всегда имеются комментарии. Для этого вы должны открыть исходный код drupal_get_path() и в нём будет доступна вся информация.
/** * Returns the path to a system item (module, theme, etc.). * * @param $type * The type of the item; one of 'core', 'profile', 'module', 'theme', or * 'theme_engine'. * @param $name * The name of the item for which the path is requested. Ignored for * $type 'core'. * * @return string * The path to the requested item or an empty string if the item is not found. * * @deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. Use * \Drupal\Core\Extension\ExtensionPathResolver::getPath() instead. * * @see https://www.drupal.org/node/2940438 * @see \Drupal\Core\Extension\ExtensionList::getPath() */ function drupal_get_path($type, $name) < @trigger_error('drupal_get_path() is deprecated in drupal:9.3.0 and is removed from drupal:10.0.0. Use \Drupal\Core\Extension\ExtensionPathResolver::getPath() instead. See https://www.drupal.org/node/2940438', E_USER_DEPRECATED); return dirname(drupal_get_filename($type, $name)); >
Из исходного кода функции становится ясно, что функция объявлена устаревшей в Drupal 9.3.0 и вместо неё необходимо использовать метод ExtensionPathResolver::getPath() . Для более детальной информации предоставлена ссылка с описанием этого изменения.
¶С использованием PHPStorm
В текущем разделе вы узнаете как найти код, который использует устаревший API при помощи IDE PHPStorm.
Для поиска вызова устаревших API при помощи PHPStorm следуйте следующим этапам:
- Запустите «Code» → «Analyze Code» → «Run Inspection by name» или SHIFT + SHIFT и начните вводить «Run inspection by name», а затем нажмите Enter.
- В появившемся окне «Enter inspection name:» введите «Deprecated», он будет в разделе PHP | General , затем нажмите Enter.
- В открывшемся модальном окне в разделе «Inspection Scope» выберите «Custom Scope» и выберите нужный Scope содержащий только ваш собственный код.
- Запустите анализ нажав на «OK».
В появившихся результатах будут перечислены все файлы и места, где используется устаревший код.
![]()
¶С использованием Upgrade Status
В текущем разделе вы узнаете как найти код, который использует устаревший API при помощи модуля Upgrade Status.
- Перейдите на страницу: «Отчёты» → «Upgrade Status».
- На данной странице нас интересует раздел «Сканировать».
- В данном разделе выберете все собственные модули и темы оформления, а затем нажмите «Scan selected» внизу страницы.
![]()
Дождитесь окончания сканирования, после чего у вас откроется этот же отчёт, но уже с информацией по выбранным модулям и темам. Все модули и темы, которые содержат проблемы, будут добавлены в секцию «Fix manually».
![]()
По каждому модулю и теме будет предоставлена информация о найденных проблемах, вы можете нажать на ссылку «X problem(s)» чтобы получить больше информации.
![]()
В примере выше видно, что модуль example использует устаревшую функцию drupal_get_path() , а также информацию: в каком файле происходит вызов, на какой линии и как её исправлять.
Вам необходимо устранить все проблемы. Если вы считате что устранили все проблемы, или хотите провести проверку повторно, выделите желаемые модули и запустите сканирование повторно.
Если вы исправите все проблемы, модули попадут в раздел «Compatible with next major Drupal core version» — это означает что эти модули не содержат код и прочие проблемы, которые сломаются на Drupal 10.
![]()
¶Обновите Twig шаблоны
В Drupal 10, шаблонизатор Twig обновлён до 3 версии. Это означает, что устаревшие возможности Twig 1 будут больше недоступны, но устаревшие возможности Twig 2 продолжат работать.
Основные изменения и как обновлять шаблоны вы можете найти на странице обновления Drupal 10.0.0 ( #3094493 ).
¶С использованием PHPStorm
В текущем разделе вы узнаете как найти Twig шаблоны, которые используют устаревший API при помощи IDE PHPStorm.
Для поиска проблемных шаблонов при помощи PHPStorm следуйте следующим этапам:
- Запустите: «Code» → «Analyze Code» → «Run Inspection by name» или SHIFT + SHIFT и начните вводить «Run inspection by name», а затем нажмите Enter.
- В появившемся окне «Enter inspection name:» введите «Deprecated Twig extension», он будет в разделе Symfony | Twig , затем нажмите Enter.
- В открывшемся модальном окне в разделе «Inspection Scope» выберите «Custom Scope» и выберите нужный Scope содержащий только ваш собственный код.
- Запустите анализ нажав на «OK».
В появившихся результатах будут перечислены все файлы и места, где используется устаревший код.
![]()
¶С использованием Upgrade Status
В текущем разделе вы узнаете как найти Twig шаблоны, которые используют устаревшие возможности при помощи модуля Upgrade Status.
- Перейдите на страницу: «Отчёты» → «Upgrade Status».
- Выберете все собственные модули и темы оформления, а затем нажмите «Scan selected» внизу страницы.
- Дождитесь окончания сканирования.
- Исправьте все найденные проблемы с шаблонами.
![]()
В примере выше показано, что в шаблоне example.html.twig используется устаревший тег spaceless . Для решения проблемы необходимо заменить его использование одноимённым фильтром.
Старый синтаксис, не будет работать в Drupal 10. Новый синтаксис, будет без проблем работать в Drupal 10! Выполняет всё ту же функцию.
¶Обновление сторонних модулей и тем оформления
После того как вы подготовили ядро и собственный код, остаётся последний этап — подготовка сторонних модулей и тем оформления. Вам необходимо обновить все сторонние модули и темы оформления до актуальных версий, которые совместимы с Drupal 10.
Чем больше сторонних расширений вы используете, тем сложнее может оказаться данный этап. Поэтому рекомендуется оставить его напоследок, к тому моменту, когда вы до него дойдёте, возможно появятся решения и обновления для необходимых вас расширений.
В процессе сбора информации о тех или иных расширениях, вы можете столкнуться с проектами, у которых нет поддержки Drupal 10.
Что делать в данной ситуации? То что последний релиз не имеет поддержки Drupal 10, не означает что эту поддержку не добавили в dev версию модуля или работают над этим. В данной ситуации лучше всего перейти на страницу задач («All issues») проекта и изучить самые актуальные из них.
Если для проекта уже есть готовый патч с поддержкой Drupal 10, то у вас два варианта развития событий:
- Добавить данный патч в проект и обновить пакет, а затем просто дождаться когда патч будет уже в самом расширении, после чего удалить патч из проекта.
- Дождаться пока появится стабильный релиз с поддержкой Drupal 10.
Если для проекта отсутствует готовый патч с поддержкой Drupal 10, то стоит более детально изучить проект. Возможно он заброшен или автору проекта требуется помощь с подготовкой данного патча. Если вы не готовы самостоятельно добавить совместимость и поделиться с сообществом, вам остаётся только ждать. Заранее начните продумывать как вы замените это расширение, если для него так и не выйдет обновление с совместимостью.
¶Подготовка к обновлению
Прежде чем начать проводить детальный аудит модулей и изучать совместимость с Drupal 10, необходимо обновить все текущие модули до актуальных версий. Это позволит иметь самую актуальную информацию о совместимости.
¶Поиск и обновление
В текущем разделе описано, как необходимо проверять сторонние расширения на совместимость с Drupal 10.
¶При помощи drupal.org
Для проверки совместимости модуля с Drupal 10 вы можете использовать официальный сайт Drupal — drupal.org.
Составьте список используемых расширений и посетите страницу каждого из расширений на drupal.org. Внизу страницы вы найдёте раздел «Releases» в котором содержится информация о текущих версиях проекта и его совместимости.
![]()
В примере выше, вы можете заметить раздел «Works with Drupal», в котором указано ^9.2 || ^10 . Это означает что данный проект поддерживает Drupal 9.2.0 или новее, а также Drupal 10.
Если версия расширения на вашем проекте актуальная, вам ничего не нужно делать с данным расширением и можно идти дальше!
![]()
В текущем примере вы можете найти аналогичный раздел, но в нём уже совсем другая информация. Из него следует что модуль поддерживает Drupal 8.8.0 или новее, а также Drupal 9. Это означает, что текущий проект с версией 1.8 не заработает на Drupal 10.
¶При помощи Upgrade Status
Для того чтобы проверить расширения на совместимость с Drupal 10 вы также можете использовать Upgrade Status.
- Перейдите на страницу: «Отчёты» → «Upgrade Status».
- Выберите все сторонние модули и темы оформления, а затем нажмите «Scan selected» внизу страницы.
Проекты, которые совместимы с Drupal 10 окажутся в разделе «Compatible with next major Drupal core version»:
![]()
С такими проектами не нужно ничего делать, уже всё готово. Но некоторые проекты могут оказаться не готовы. Такие проекты попадут в раздел «Collaborate with maintainers»:
![]()
Из данного анализа вы можете понять, как много проблем в том или ином проекте, требующих решений для совместимости с Drupal 10. Для каждого проекта есть специальная ссылка «Issues», которая ведёт на страницу всех задач проекта с поисковым запросом «Drupal 10». Вы можете посмотреть, есть ли готовый патч, или помочь в решении данных проблем.
¶Обновление до Drupal 10
После выполнения всех предыдущих этапов, остаётся только обновиться до Drupal 10!
Быстрая проверка перед тем, чтобы продолжить:
- Вы сделали резервную копию проекта.
- Ваш боевой сервер удовлетворяет системным требованиям Drupal 10.
- Вы используете актуальную версию Drupal 9.
- Ваши модули и темы оформления не содержат устаревшего кода и шаблонов.
- Все сторонние модули, используемые на проекте, имеют поддержку Drupal 10.
- Upgrade Status — если вы его использовали, он должен быть отключен или вовсе удалён с проекта до обновления.
Для того чтобы обновиться до Drupal 10, вам достаточно запросить новые версии Drupal пакетов.
Запрашиваем новые версии пакетов для Drupal ядра:
$ composer require 'drupal/core-recommended:^10' 'drupal/core-composer-scaffold:^10' --update-with-dependencies --no-update
Если вы используете require-dev , вам также необходимо запросить новые версии пакетов предоставляемых ядром:
$ composer require 'drupal/core-dev:^10' --dev --update-with-dependencies --no-update
После того как обновили версии, необходимо запустить само обновление:
$ composer update
После того как обновление завершилось, не забудьте запустить обновление баз данных: либо перейдя на /update.php , либо при помощи Drush:
$ drush updb
На этом всё! Ваш проект должен работать на Drupal 10.
¶Ссылки
- Upgrading from Drupal 8 to Drupal 9 (or later) (англ.), drupal.org
Помогите нам сделать документацию лучше!
Вся документация Druki с отрытым исходным кодом. Нашли ошибку или неточность? Создайте pull request.
По-прежнему нужна помощь?
Не нашли ответа на свой вопрос? Попросите помощи у сообщества!
- Введение
- Рекомендуемые инструменты
- Подготовка проекта к обновлению
- Проверка системных требований
- С использованием Drupal
- С использованием Upgrade Status
- Обновите свойство core_version_requirement
- Удалите свойство core
- Обновите PHP код
- С использованием PHPStorm
- С использованием Upgrade Status
- С использованием PHPStorm
- С использованием Upgrade Status
- Подготовка к обновлению
- Поиск и обновление
- При помощи drupal.org
- При помощи Upgrade Status
Разработано Niklan с любовью на Drupal.
Drupal — зарегистрированная торговая марка Dries Buytaert.
Исходный код сайта предоставляется по лицензии GNU GPL v2 license.
Содержимое сайта предоставляется по лицензии Creative Commons Attribution CC-BY-SA 4.0 license.
- Проверка системных требований