如何将外部环境变量设置为数组?
如果我有环境变量
SYMFONY__NSQLOOKUPD__HOSTS=["localhost:4161"]
并在config.yml中:
socloz_nsq:
lookupd_hosts: %nsqlookupd.hosts%
然后我收到了一个错误:
Invalid type for path "socloz_nsq.lookupd_hosts". Expected array, but got string
答案 0 :(得分:1)
我找到了解决方案。这是:
config.yml中的添加到导入部分:
imports:
- { resource: parameters.php }
然后在config.yml所在的同一目录下创建parameters.php文件,并查看以下示例:
<?php
$nsqlookupdhosts = getenv('SYMFONY__NSQLOOKUPD__HOSTS');
$nsqdhosts = getenv('SYMFONY__NSQD__HOSTS');
$container->setParameter('nsqlookupd.hosts.parsed', explode(',', $nsqlookupdhosts));
$container->setParameter('nsqd.hosts.parsed', explode(',', $nsqdhosts));
在环境变量中使用逗号作为分隔符(您不限于逗号,使用任何)
SYMFONY__NSQLOOKUPD__HOSTS=localhost:4161,some.server:2222