问题描述
我有 docker 的这个配置:
# docker-compose.yml
environment:
REdis_SERVER: redis
REdis_PORT: 6379
然后在 symfony 中我用它来配置参数:
# parameters.yml
redis_port: %env(REdis_PORT)%
And then I use the parameter to configure Picmore's cache:
```yaml
# pimcore.yml
cache:
pools:
redis:
enabled: true
connection:
port: '%redis_port%'
但我收到错误
路径“pimcore.cache.pools.redis.connection.port”的类型无效。预期为整数,但得到字符串。
redis_port: '%env(REdis_PORT)%'
redis_port: '%env(int:REdis_PORT)%'
解决方法
您使用的是 Symfony 3.3,但根据 this 的说法,直到 Symfony 3.4 才添加了 int
环境变量预处理器。
我认为您无法使用 env vars 来配置此值,因为默认情况下环境变量是字符串。
您的选择是针对不同的环境使用不同的 parameters
文件,就像当时过去所做的那样(我知道使用容器时可能会很不方便);或升级到更新版本的 Symfony。