Drupal 8.5.1 Ошибки при обновлении - где искать неисправности? - PullRequest
0 голосов
/ 25 апреля 2018

Я нахожусь в процессе обновления сайта с 8.3.5 до 8.5.1

У меня обновлена ​​база кода, у меня настроены модули с помощью composer, и я обновил мою установку drush с помощью cgr, и я работаюDrush 9 в рамках установки.У меня этот сайт работает нормально в базе данных dev в моей локальной среде

Я работаю над переносом базы данных с рабочего сервера в среду dev.Использование Acquia DevDesktop 2 для локальной среды разработки.Я могу запустить состояние очистки, и все выглядит нормально:

Имя хоста БД: 127.0.0.1
Порт БД: 33067
Имя пользователя БД: drupaluser
Имя БД: site_migration_851
База данных: Подключено
Начальная загрузка Drupal: Успешно
Тема по умолчанию: site_theme
Тема администратора: семь
Бинарный файл PHP: / Applications / DevDesktop / php5_6 / bin / php
Конфигурация PHP: / Applications /DevDesktop / php5_6 / bin / php.ini
PHP OS: Darwin
Скрипт Drush: / Volumes / Video_Drive / web / DrupalProjects / site-migration ration-851 / vendor / drush / drush / drush Версия Drush: 9.2.3
Drush temp: / tmp
Drush config: / Volumes / Video_Drive / web / DrupalProjects / site-migration ration-851 / vendor / drush / drush / drush.yml Профиль установки: стандартный
Корень Drupal:/ Volumes / Video_Drive / web / DrupalProjects / site-mig ration-851 Путь к сайту: sites / default
Файлы, Public: sites / default / files
Файлы, Temp: / tmp

Я не могу загрузить сайт в браузер, я получаю следующее сообщение об ошибкеr:

Сайт обнаружил непредвиденную ошибку.Повторите попытку позже. Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException: не найден маршрут для «GET /» в Symfony \ Component \ HttpKernel \ EventListener \ RouterListener-> onKernelRequest () (строка 144 vendor / symfony / http-kernel /EventListener / RouterListener.php).

Drupal \ Core \ Routing \ AccessAwareRouter-> matchRequest (Object) (строка: 114) Symfony \ Component \ HttpKernel \ EventListener \ RouterListener-> onKernelRequest (Object, 'kernel.request', Object) call_user_func (Array, Object, 'kernel.request', Object) (строка: 111) Drupal \ Component \ EventDispatcher \ ContainerAwareEventDispatcher-> dispatch ('kernel.request', Object) (строка: 127) Symfony \ Component \ HttpKernel \HttpKernel-> handleRaw (Object, 1) (строка: 68) Symfony \ Component \ HttpKernel \ HttpKernel-> handle (Object, 1, 1) (строка: 57) Drupal \ Core \ StackMiddleware \ Session-> handle (Object, 1), 1) (строка: 47) Drupal \ Core \ StackMiddleware \ KernelPreHandle-> handle (Object, 1, 1) (строка: 47) Drupal \ Core \ StackMiddleware \ ReverseProxyMiddleware-> handle (Object, 1, 1) (Line: 50) Drupal \ Core \ StackMiddleware \ NegotiationMiddleware-> handle (Объект, 1, 1) (строка: 23) Stack \ StackedHttpKernel-> handle (Object, 1, 1) (строка: 664) Drupal \ Core \ DrupalKernel-> handle (Object) (Строка: 19)

Когда я запускаю drush cr, я получаю следующую ошибку: [ошибка] Команда Drush прервана ненормально из-за неисправимой ошибки.Ошибка: вызов неопределенной функции system_rebuild_module_data () в /Volumes/web/DrupalProjects/site-migration-851/core/includes/common.inc, строка 1123

Я попытался запустить /core/rebuild.php стокен, сгенерированный нормально, но он выдал ошибку с тем же сообщением, что и выше.

Я вручную обрезал таблицы «cache_» в базе данных, после того, как прочитал о том, что другие испытали здесь и на drupalсайт сообщества.

Я также проверил настройки менеджера конфигурации, и uuid совпадает со старой базой данных dev.Я сбросил его, попытался запустить изменения синхронизации для prod db, и ничего не изменилось.

По-прежнему не удается загрузить сайт с помощью БД.Цель состоит в том, чтобы заставить кодовую базу работать с производственной базой данных, так как она имеет правильное содержимое и т. Д.

Есть ли в производственной базе данных что-то, что мешает ядру раскручивать правильные маршруты?

ОБНОВЛЕНИЕ:

Я повторно запустил обновление композитора и установил его. Удалось успешно перейти на страницу /core/install.php.Это говорит мне, что drupal установлен.Первый вариант запуска заново нежелателен, так как мне нужно сохранить данные содержимого.

Когда я захожу на /update.php url

На веб-сайте произошла непредвиденная ошибка.Пожалуйста, попробуйте позже.Symfony \ Component \ DependencyInjection \ Exception \ ServiceNotFoundException: вы запросили несуществующую службу "access_check.db_update".в Symfony \ Component \ DependencyInjection \ ContainerBuilder-> getDefinition () (строка 1024 вендора / symfony / зависимость-инъекция / ContainerBuilder.php).Symfony \ Component \ DependencyInjection \ ContainerBuilder-> getDefinition ('access_check.db_update') (Строка: 591) Symfony \ Component \ DependencyInjection \ ContainerBuilder-> doGet ('access_check.db_update', 1) (Строка: 569)DependencyInjection \ ContainerBuilder-> get ('access_check.db_update') (строка: 182) Drupal \ Core \ Update \ UpdateKernel-> handleAccess (объект, объект) (строка: 99) Drupal \ Core \ Update \ UpdateKernel-> handleRaw (объект) (Строка: 73) Drupal \ Core \ Update \ UpdateKernel-> handle (Object) (строка: 28)

Когда я перехожу на первую страницу сайта, он возвращает:

На сайте произошла непредвиденная ошибка.Повторите попытку позже. Drupal \ Component \ Plugin \ Exception \ PluginNotFoundException: тип сущности "узел" не существует.в Drupal \ Core \ Entity \ EntityTypeManager-> getDefinition () (строка 133 из core / lib / Drupal / Core / Entity / EntityTypeManager.php).

Drupal \ Core \ Entity \ EntityTypeManager-> getHandler ('node','storage') (строка: 169) Drupal \ Core \ Entity \ EntityTypeManager-> getStorage ('node') (строка: 79) Drupal \ Core \ Entity \ EntityManager-> getStorage ('node') (строка: 100) Drupal\ Core \ ParamConverter \ EntityConverter-> convert ('43 ', Array,' node ', Array) (строка: 100) Drupal \ Core \ ParamConverter \ ParamConverterManager-> convert (Array) (строка: 45) Drupal \ Core \ Routing\ Enhancer \ ParamConversionEnhancer-> Improve (Массив, Объект) (Строка: 259) Drupal \ Core \ Routing \ Router-> applyRouteEnhancers (Массив, Объект) (Строка: 130) Drupal \ Core \ Routing \ Router-> matchRequest (Объект)(Строка: 90) Drupal \ Core \ Routing \ AccessAwareRouter-> matchRequest (Object) (Строка: 114) Symfony \ Component \ HttpKernel \ EventListener \ RouterListener-> onKernelRequest (Объект, 'kernel.request', Объект) call_user_func (Массив,Object, 'kernel.request', Object) (Строка: 111) Drupal \ Component \ EventDispatcher \ ContainerAwareEventDispatcher-> dispatch ('kernel.request', Object) (строка: 127) Symfony \ Component \ HttpKernel \ HttpKernel-> handleRaw (Object, 1) (строка: 68) Symfony \ Component \ HttpKernel \ HttpKernel-> handle(Объект, 1, 1) (Строка: 57) Drupal \ Core \ StackMiddleware \ Session-> handle (Объект, 1, 1) (Строка: 47) Drupal \ Core \ StackMiddleware \ KernelPreHandle-> handle (Объект, 1, 1) (Строка: 47) Drupal \ Core \ StackMiddleware \ ReverseProxyMiddleware-> handle (Объект, 1, 1) (Строка: 50) Drupal \ Core \ StackMiddleware \ NegotiationMiddleware-> handle (Объект, 1, 1) (Строка: 23)Stack \ StackedHttpKernel-> handle (Object, 1, 1) (строка: 664) Drupal \ Core \ DrupalKernel-> handle (Object) (строка: 19)

Запуск drush dbup & entup возвращает следующую ошибку:

Неустранимая ошибка: вызов неопределенной функции system_rebuild_module_data () в /web/DrupalProjects/site/site/core/includes/update.inc в строке 46

дополнительно drushEntup создает следующий статус, затем ошибка

[успех] Обновления схемы объекта не требуютсяНеустранимая ошибка: вызов неопределенной функции system_rebuild_module_data () в /web/DrupalProjects/site/site/core/includes/common.inc в строке 1123 [успех] Закончено выполнение обновлений.

Очень странно.

Ответы [ 6 ]

0 голосов
/ 17 октября 2018

Выполните следующий шаг, чтобы обновить Drupal с 8.3.5 до 8.5.1

  1. Изменить строку в файле composer.json, т.е. "drupal / core": "^ 8.5.1".
  2. Запустить обновление композитора (он сам загрузит все зависимости, основанные на Drupal 8.5.1)

Тогда два способа запустить Drupal Update 1. Через URL домен / update.php ИЛИ 2. drush updatedb

ПРИМЕЧАНИЕ. Удалите файл composer.lock, если он находится в корневом каталоге.

0 голосов
/ 17 октября 2018

Пожалуйста, следуйте инструкциям ниже.все, что вам нужно использовать в замазке.

1) Установите свежий Drupal где-нибудь из основной папки сайта drupal.

wget https://ftp.drupal.org/files/projects/drupal-8.5.1.tar.gz

2) разархивируйте этот файл

tar -xvf drupal-8.5.1.tar.gz

3) перейдите на новый установленныйКорень друпал и удаление модулей, тем, папок сайтов.например.

rm -rf modules
rm -rf sites
rm -rf themes

4) теперь вернитесь к корню и нажмите код ниже.

  yes|cp -R drupal-8.5.1/* your_original_drupal_folder_name/

5) после этого просто перейдите к корню друпалов и запустите composer updateкоманда.

6) Запустите, наконец, drush updb.

0 голосов
/ 17 октября 2018

После удаления каталога вендора из корня. Пожалуйста, запустите только команду composer update. Что он будет делать, он просто установит все зависимости, основанные на новой версии Drupal.

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

Спасибо!

0 голосов
/ 16 октября 2018

Извините за то, что выкопал 5-месячный вопрос, у меня возникли те же ошибки, когда я обновлял сайт Drupal 8.5 до 8.6. Я не мог потерять какие-либо данные в базе данных, поэтому использование новой базы данных не сработало бы для меня; Я получил вышеупомянутую ошибку в середине выполнения /update.php. Я закончил тем, что заставил мою работать, удалив весь каталог /vendor и снова запустив:

  • composer install
  • composer update
  • drush cr
0 голосов
/ 30 апреля 2018

Выполните следующие действия

  • composer update
  • drush updb
  • drush entup
0 голосов
/ 25 апреля 2018

Запустите эти команды, чтобы получить зависимость от обновленного Drupal.

composer update
composer install
...