Рецепт 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)%"?