如何将外部环境变量设置为数组?
如果我有环境变量
SYMFONY__NSQLOOKUPD__HOSTS=["localhost:4161"]
Run Code Online (Sandbox Code Playgroud)
并在 config.yml 中:
socloz_nsq:
lookupd_hosts: %nsqlookupd.hosts%
Run Code Online (Sandbox Code Playgroud)
然后我得到一个错误:
Invalid type for path "socloz_nsq.lookupd_hosts". Expected array, but got string
Run Code Online (Sandbox Code Playgroud)
我已经找到解决方案了。这里是:
在 config.yml 中添加到导入部分:
imports:
- { resource: parameters.php }
Run Code Online (Sandbox Code Playgroud)
然后在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));
Run Code Online (Sandbox Code Playgroud)
在环境变量中使用逗号作为分隔符(不限于逗号,可以使用任何)
SYMFONY__NSQLOOKUPD__HOSTS=localhost:4161,some.server:2222
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4968 次 |
最近记录: |