I have this configuration for docker:
# docker-compose.yml environment: REDIS_SERVER: redis REDIS_PORT: 6379
And then in symfony I use this to configure parameters:
# 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%'
But I get the error
Invalid type for path “pimcore.cache.pools.redis.connection.port”. Expected int, but got string.
The error is clear but I can’t solve it, I tried different options:
redis_port: '%env(REDIS_PORT)%' redis_port: '%env(int:REDIS_PORT)%'
But I get the same error. How can I fix this?
Answer
You are using Symfony 3.3, but the int
environment variable preprocessor was not added until Symfony 3.4, according to this.
I don’t think you’ll be able to use env vars to configure this value, since environment variables are strings by default.
Your options are to either use different parameters
files for different environment, as things used to be done back then (which I understand can be inconvenient when using containers); or upgrade to a more recent version of Symfony.