我一直在尝试将缓存/缓存捆绑配方安装到我的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”的类型无效。预期为布尔值,但得到字符串。
.env
SESSION_CACHE_ENABLED 是作曲家在这样的块中引入项目文件中的值。
###> 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 文件中布尔值问题的问题,但恐怕这个问题没有任何结论。