Рейтинг:1

Локальные настройки режима разработки drupal9: не существует cache.backend.null

флаг za

В drupal9 мой drupal8 local.settings.php conf генерирует ошибку, когда я очищаю кеш

Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException: Вы [ошибка] запросили несуществующую услугу "кэш.бэкенд.нуль". Возможно, вы имели в виду что-то из этого: "cache.backend.apcu", "cache.backend.memory", "cache.backend.php"? в /data-platforms/platforms/drupal9-dev/core/lib/Drupal/Component/DependencyInjection/Container.php:156

это связано с

$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['page'] = 'cache.backend.null';

что я должен изменить здесь для drupal9?

флаг cn
Это то же самое, что и для D8 — вам нужно включить свой development.services.yml в контейнер ymls в settings.php, а затем пересобрать кеш.
Рейтинг:3
флаг in

Как упомянул Клайв, это то же самое для D8 и D9 и cache.backend.null определяется в development.services.yml, поэтому самый простой способ его использования — добавить development.services.yml в ваш контейнер ymls.

Для этого добавьте следующее вверху файла настроек (код взят из файла core по умолчанию example.settings.local.php):

/**
 * Включить локальные службы разработки.
 */
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';

Кроме того, example.settings.local.php говорит вам, что вы должны сделать это, чтобы использовать cache.backend.null:

/**
 * Отключите кеш рендеринга.
 *
 * Примечание: вы должны протестировать с включенным кэшем рендеринга, чтобы убедиться в правильности
 * метаданные кешируемости присутствуют. Однако на ранних стадиях
 * development, вы можете отключить его.
 *
 * Этот параметр отключает кеш рендеринга с помощью нулевого бэкенда кеша.
 * определено выше в файле development.services.yml.
 *
 * Используйте этот параметр только после установки сайта.
 */
# $settings['cache']['bins']['render'] = 'cache.backend.null';

Если по какой-то причине вы не хотите использовать файл development.services.yml по умолчанию, вы можете вместо этого использовать файл custom.services.yml, если он включает определение cache.backend.null.

Для этого вам нужно добавить в файл настроек следующее:

/**
 * Включить пользовательские услуги.
 */
$settings['container_yamls'][] = DRUPAL_ROOT . '/сайты/custom.services.yml';

А затем в файле sites/custom.services.yml:

Сервисы:
  cache.backend.null:
    класс: Drupal\Core\Cache\NullBackendFactory

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

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