Рецепт Symfony 4 не может быть установлен на проект из-за проблемы с dotenv

Я пытался установить рецепт cache/cache-bundle в мой symfony4 flex-configured проект, но безрезультатно. Я выполняю:

composer require cache/cache-bundle

И вот что я получил на корпусе:

Захват результата установки кеш-пакета рецептов на оболочку

При установке cache-bundle создается файл cache.yml в config/packages/cache.ymlи его содержимое по умолчанию:

cache:
    session:
       enabled: "%env(bool:SESSION_CACHE_ENABLED)%"
       service_id: "cache.provider.default"
       use_tagging: true
       ttl: 7200
    router:
       enabled: "%env(bool:ROUTER_CACHE_ENABLED)%"
       service_id: "cache.provider.default"
       ttl: 86400
    logging:
       enabled: "%env(bool:APP_DEBUG)%"
       logger: "logger"
       level: "info"

Проблемная линия - первая "включенная". По какой-то причине Symfony или композитору это не нравится %env(bool:SESSION_CACHE_ENABLED)% и возвращает это сообщение об ошибке:

Неверный тип для пути "cache.session.enabled". Ожидаемый логический, но получил строку.

SESSION_CACHE_ENABLED - это значение, введенное в .env файл проекта, составленный композитором в таком блоке.

###> cache/cache-bundle ###
SESSION_CACHE_ENABLED=true
ROUTER_CACHE_ENABLED=false
###< cache/cache-bundle ###

Затем возникает вопрос: "пострадает ли кто-то еще" с этой проблемой и найдет исправление или обходной путь, чтобы заставить эту конфигурацию работать? Моя цель - использовать эту зависимость в моем фиктивном проекте для кэширования массивов в памяти, чтобы использовать их в качестве поддельной системы БД.

Я подумал открыть вопрос об этом, но так как я не уверен, является ли это проблемой Simfony или просто проблемой в рецепте, я предпочел бы сначала спросить здесь.

И для завершения, вот список текущих зависимостей уже в моем проекте.

"require": {
    "php": "^7.1.3",
    "easycorp/easy-log-handler": "^1.0",
    "friendsofsymfony/rest-bundle": "^2.3",
    "hermes/bridge/common": "dev-master",
    "hermes/common": "dev-master",
    "jms/serializer": "^1.10",
    "jms/serializer-bundle": "^2.3",
    "ramsey/uuid": "^3.7",
    "sensio/framework-extra-bundle": "^5.1",
    "symfony/cache": "^4.0",
    "symfony/console": "^4.0",
    "symfony/framework-bundle": "^4.0",
    "symfony/http-foundation": "^4.0",
    "symfony/monolog-bundle": "^3.1",
    "symfony/stopwatch": "^4.0",
    "symfony/web-server-bundle": "^4.0",
    "symfony/yaml": "^4.0"
},
"require-dev": {
    "symfony/flex": "^1.0",
    "symfony/dotenv": "^4.0"
}

Я видел вопросы о проблемах с булевыми значениями в файлах dotenv, но, боюсь, нет ничего убедительного в этом вопросе.

1 ответ

Вы пытались избавиться от кавычек вокруг "%env(bool:SESSION_CACHE_ENABLED)%"?

Другие вопросы по тегам