Рейтинг:0

Ошибка локального клона (MAMP)

флаг ua

Я клонировал версию сайта Drupal 8.9.20 в локальную установку (MAMP PRO). Казалось бы, слово, но когда я звоню на сайт, я получаю сообщение об ошибке:

Сайт обнаружил непредвиденную ошибку. Пожалуйста, повторите попытку позже.

С подробным режимом ошибок я получаю следующее:

Ошибка: вызов функции-члена id() для bool в Drupal\Core\Entity\EntityStorageBase->setStaticCache() (строка 188 core/lib/Drupal/Core/Entity/EntityStorageBase.php).
Drupal\Core\Entity\EntityStorageBase->setStaticCache(Array) (строка: 311)
Drupal\Core\Entity\EntityStorageBase->loadMultiple(Array) (строка: 188)
Drupal\Core\Entity\EntityRepository->getCanonicalMultiple('узел', Массив, Массив) (Строка: 180)
Drupal\Core\Entity\EntityRepository->getCanonical('узел', '236', Массив) (Строка: 149)
Drupal\Core\ParamConverter\EntityConverter->convert('236', Массив, 'узел', Массив) (Строка: 100)
Drupal\Core\ParamConverter\ParamConverterManager->convert(Array) (строка: 89)
Drupal\Core\Access\AccessManager->checkNamedRoute('entity.node.canonical', Array, Object, 1) (строка: 212)
Drupal\Core\Menu\DefaultMenuLinkTreeManipulators->menuLinkCheckAccess(Object) (строка: 92)
Drupal\Core\Menu\DefaultMenuLinkTreeManipulators->checkAccess(Array) (строка: 96)
Drupal\Core\Menu\DefaultMenuLinkTreeManipulators->checkAccess(Array) (строка: 96)
Drupal\Core\Menu\DefaultMenuLinkTreeManipulators->checkAccess(Array)
call_user_func (массив, массив) (строка: 148)
Drupal\Core\Menu\MenuLinkTree->transform(Array, Array) (строка: 56)
Drupal\pg_helper\BreadcrumbBuilder->build(Object) (строка: 47)
Drupal\pg_fe_users\Theme\ThemeswitcherNegotiator::is_internal() (строка: 23)
Drupal\pg_fe_users\Theme\ThemeswitcherNegotiator->applies(Object) (строка: 67)
Drupal\Core\Theme\ThemeNegotiator->determineActiveTheme(Object) (строка: 405)
Drupal\Core\Theme\ThemeManager->initTheme(Object) (строка: 96)
Drupal\Core\Theme\ThemeManager->getActiveTheme() (строка: 43)
Drupal\Core\Cache\Context\ThemeCacheContext->getContext(NULL) (строка: 118)
Drupal\Core\Cache\Context\CacheContextsManager->convertTokensToKeys(Array) (строка: 307)
Drupal\Core\Render\RenderCache->createCacheID(массив) (строка: 66)
Drupal\Core\Render\RenderCache->get(Array) (строка: 109)
Drupal\Core\Render\PlaceholderingRenderCache->get(Array) (строка: 77)
Drupal\Core\Render\RenderCache->get(Array) (строка: 109)
Drupal\Core\Render\PlaceholderingRenderCache->get(Array) (строка: 137)
Drupal\dynamic_page_cache\EventSubscriber\DynamicPageCacheSubscriber->onRequest(Объект, 'kernel.request', Объект)
call_user_func (массив, объект, 'kernel.request', объект) (строка: 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) (строка: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (строка: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (строка: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (строка: 70)
Drupal\pg_fe_users\StackMiddleware\PgPageCache->handle(Object, 1, 1) (строка: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (строка: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (строка: 23)
Stack\StackedHttpKernel->дескриптор (объект, 1, 1) (строка: 708)
Drupal\Core\DrupalKernel->дескриптор (объект) (строка: 19)

Что может быть причиной? Любые подсказки, как это решить?

За совет заранее большое спасибо!

Решение:

Совет от @4k4 решил проблему:

Восстановление кеша с помощью http://www.example.com/core/rebuild.php удалил сообщение об ошибке.

флаг cn
Как вы клонировали файлы/db?
флаг ua
Файлы через ssh и zip. ДД через mysqldump, а затем импортируется в phpMyAdmin.
4uk4 avatar
флаг cn
Что может сказать дамп ошибки, так это то, что ошибка возникает при попадании в кеш, когда кеш динамической страницы пытается заменить заполнители, что включает в себя настраиваемый посредник темы, который, что довольно необычно, вызывает эту ошибку при попытке выяснить, применима ли она. Независимо от того, как вы нашли эту ошибку, она может быть интересна авторам пользовательского кода.
флаг ua
@ 4k4, спасибо за эту подсказку. Есть ли простое решение для удаления этого поведения кэширования?
4uk4 avatar
флаг cn
Вы можете просто попытаться очистить кеш и надеяться, что ошибка не вернется. Или используйте сайт в том виде, в каком он есть сейчас, чтобы отладить, как логическое значение оказывается в переменных вместо сущности.
флаг ua
@4k4 К сожалению, сайт не отображается. Только эта ошибка. И, к сожалению, я полный новичок в Drupal. Обычно я разрабатываю темы WordPress. Есть ли способ очистить кеш вручную?
4uk4 avatar
флаг cn
Используйте drush cache:rebuild или сценарий перестроения. См. https://www.drupal.org/docs/user_guide/en/prevent-cache-clear.html#s-using-the-rebuild-script.
флаг cn
Кроме того, вообще говоря, MAMP и Drupal не очень хорошо сочетаются друг с другом. Если вы собираетесь часто использовать Drupal, гораздо лучше использовать один из инструментов на основе докеров, таких как ddev или lando (как с открытым исходным кодом, так и бесплатно).
флаг ua
@4k4 Большое спасибо! http://www.example.com/core/rebuild.php сделал свое дело!
Рейтинг:2
флаг cn

Восстановление кеша с помощью http://www.example.com/core/rebuild.php удалил сообщение об ошибке.

Видеть https://www.drupal.org/docs/user_guide/en/prevent-cache-clear.html#s-using-the-rebuild-script

Это быстрое решение для удаления кэшированной страницы, которая препятствует загрузке сайта. Чтобы найти причину ошибки, вы можете использовать сайт в том состоянии, в котором он находится до очистки кеша, и xdebug переменные, чтобы найти логическое значение, которое ошибочно помещается вместо объекта.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.