Устранение неполадок обновления базы данных
Прежде чем приступить к устранению неполадок, связанных с обновлением базы данных, всегда выполняйте резервное копирование базы данных и базы кода.
Если есть какие-либо проблемы, препятствующие безопасному запуску обновлений базы данных, update.php сообщит об ошибке.
Внимательно прочитайте сообщение об ошибке, чтобы устранить проблему.
Неверные модули или темы
В некоторых случаях update.php может сообщать о наличии недопустимых модулей или тем. Это происходит, когда модуль или тема указаны в файле конфигурации core.extension.yml, но отсутствуют или несовместимы с сайтом.
При устранении этой проблемы сначала следует убедиться, что вы не импортировали неверную версию конфигурации core.extension.yml. Затем устраните неполадки дополнительно на основе конкретного отображаемого сообщения. Перезапустите update.php, как только проблема будет решена.
Модуль или тема отсутствует
1. Если update.php сообщает, что модуль или тема отсутствуют, и используется правильный файл core.extension.yml, убедитесь, что модуль или тема присутствует в кодовой базе сайта.
- Например, посмотрите в [site-root]/modules и [site-root]/sites/all/modules, чтобы найти папку, которая соответствует имени отсутствующего модуля. [site-root]/modules имеет приоритет над [site-root]/sites/all/modules, но оба сканируются на наличие модулей.
2. Если папка полностью отсутствует, найдите модуль на Drupal.org и попробуйте повторно загрузить его в папку ваших модулей. Обязательно загрузите версию, совместимую с вашей версией Drupal.
3. Если папка присутствует, возможно, отсутствуют файлы или иным образом повреждено содержимое. Вы также можете найти модуль на Drupal.org и попробовать повторно загрузить его в этом случае. Обязательно загрузите версию, совместимую с вашей версией Drupal. Перезаписать существующую папку новой загруженной версией.
4. Если модуль не был загружен с Drupal.org, попробуйте найти его оригинальный источник.
- Если модуль относится к вашему сайту или приложению, попробуйте найти его оригинальную версию и повторно добавить его в папку модулей.
- Если модуль был создан третьей стороной, но не размещен на Drupal.org (например, предоставлен на GitHub), попробуйте найти действительную версию и повторно загрузить ее.
5. В крайнем случае, если модуль не может быть найден, вы можете попробовать удалить запись для него из core.extension.yml. Помните, что это может привести к другим фатальным ошибкам на сайте.
6. Как только модуль будет восстановлен, перезапустите update.php.
Модуль или тема несовместимы с установленной версией Drupal
1. Если update.php сообщает, что модуль или тема несовместимы с установленной версией Drupal, вам необходимо либо обновить Drupal, либо обновить модуль или тему.
2. Сначала проверьте, какая версия ядра Drupal установлена. Это можно сделать на странице Отчеты - Отчет о состоянии (Reports - Status report).
3. Затем проверьте, какая версия модуля или темы установлена, прочитав файл modules/modulename/modulename.info.yml. Вы должны увидеть хотя бы одну из следующих строк в верхней части файла:
core: 8.x core_version_requirement: ^8.8 || ^9
Это означает, что модуль совместим как с Drupal 8.8+, так и с Drupal 9. Ключ core: 8.x является необязательным в этом случае и может присутствовать или отсутствовать. (Подробнее о ключе core_version_requirement.)
core_version_requirement: ^9
Это означает, что модуль совместим только с Drupal 9. (Дополнительная информация о ключе core_version_requirement.)
core: 8.x
Это означает, что модуль совместим только с Drupal 8.
core: 7.x
Это означает, что модуль совместим только с Drupal 7.
4. Если версия ядра Drupal слишком мала для установленного модуля, загрузите обновление для ядра Drupal.
5. Если версия модуля слишком мала для версии ядра Drupal, загрузите или установите обновленную версию модуля.
6. Если совместимая версия модуля или ядра недоступна, вам может потребоваться восстановить предыдущую версию из резервной копии.
7. Как только в кодовой базе появятся совместимые версии ядра Drupal, а также модуля или темы, перезапустите update.php.
Модуль или тема несовместимы с установленной версией PHP
1. Если модуль или тема несовместимы с установленной версией PHP, найдите в файле modules/modulename/modulename.info.yml строку, подобную следующей:
php: 7.3
2. Вариант 1. Установите версию модуля или темы, которая поддерживает версию PHP вашего сайта.
3. Вариант 2. Измените версию PHP своего сайта на версию, совместимую с модулем.
4. Когда в базе кода появятся совместимые версии PHP и затронутый модуль или тема, перезапустите update.php.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.