2016-03-22 3 views
3

Как установить внешнюю переменную окружения как массив?Внешняя переменная окружения как массив

Если у меня есть переменная окружения

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 

ответ

1

Я нашел решение. Вот оно:

в config.yml добавить в раздел импорта:

imports: 
    - { resource: parameters.php } 

затем создать файл parameters.php в том же каталоге, где config.yml существует, и посмотреть на следующем примере:

<?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 
Смежные вопросы