我尝试使用我放在config_staging.yml
文件中的一些自定义参数运行命令。
这是我想要的参数(位于我的config_staging中)
parameters:
bdd_name: 'ISB_bdd'
同样的参数也在config_dev中(它是db名称,它为每个env都改变了)
parameters:
bdd_name: 'DEV_ISB_bdd'
这是我命令文件中的代码:
<?php
namespace SafeEngine\ParserFluxBundle\Command;
use [..]
class GetFluxToProcessCommand extends ContainerAwareCommand
{
protected function configure()
{
$this
->setName('parser:GetFluxToProcess')
[...]
);
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$tableTransactions = $this->getContainer()->getParameter('ISB_bdd');
var_dump($tableTransactions):
[...]
然后我跑
php app/console parser:GetFluxToProcess -e staging
但是var_dump返回DEV_ISB_bdd
配置文件中的参数dev
,而不是staging
配置中的参数。看起来Symfony不会切换环境并保留默认值,
有什么想法吗?
答案 0 :(得分:0)
您需要使缓存和日志目录可写。为此,请阅读文档:http://symfony.com/doc/current/book/installation.html#configuration-and-setup。例如,对于具有ACL支持的系统,您可以使用:
HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1`
sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:`whoami`:rwX app/cache app/logs
之后清除缓存,您将更新登台环境的配置文件。