我一直试图将cache/cache-bundle配方安装到我的symfony4 flex-configured
项目中,但没有结果。我执行:
composer require cache/cache-bundle
这就是我在壳上看到的:
安装缓存包将在config/packages/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或composer不喜欢该%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 ###
然后,问题是,是否有人“遭受”了这个问题,并找到了一个修复或解决办法,以使这个配置工作。我的目标是在我的模拟项目中使用这个依赖项来缓存内存中的数组,将它们作为一个假DB系统使用。
我想就此打开一个问题,但由于我不确定这是一个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文件中见过有关布尔人的问题,但恐怕这个问题没有定论。
发布于 2018-01-26 13:19:45
你试过去掉"%env(bool:SESSION_CACHE_ENABLED)%“的引号了吗?
https://stackoverflow.com/questions/48461798
复制相似问题