2016-07-01 3 views
0

私は別のコマンドでコマンドを実行できることを知っています。この例のように ...キャッシュを呼び出す方法:別のコマンド内でargumemtでclearコマンドを実行する - symfony3

$command = $this->getApplication()->find('cache:clear'); 
    $arguments = array(); 
    $input = new ArrayInput($arguments); 
    $returnCode = $command->run($input, $output); 
    $text = ''; 
    if ($returnCode != 0) { 
     $text .= 'successfully...'; 
    } 

    $output->writeln($text); 

しかし、私はキャッシュを実行しようとすると:自分の[オプション]

$arguments = array(
     '--env=prod' => true 
    ); 

でclearコマンドを私は次のエラー

[Symfony\Component\Console\Exception\InvalidOptionException] 
    The "--env=prod" option does not exist. 

どのようにすることができますを取得しますこのコマンドを実行しますか?

+0

' 'ENV' =>「prod''を使うのか? – zerkms

+0

エラー "The" env "引数が存在しません" –

+0

これはこのようにはできません。私はenvオプションがconsole.commandで後で発生するEventListenerで作成されたと思います。 – mblaettermann

答えて

0

あなたは好きで、それを使用する必要があります。オプション、ない引数を渡すときに

$arguments = array(
    '--env' => 'prod', 
); 
+0

dev環境を実行しています –

+0

devをクリアするには '--env = prod'を付けないでください。この回答は正しいはずです。 –

+0

私はclear:cacheを別のコマンドから呼び出そうとしますが、私のコマンドを実行している['--env' => 'prod']を使うと、clear:cacheコマンドは "//デバッグ環境のためにキャッシュをクリアします – Ephraim

0

--のみが必要とされています。あなたの引数を検討するためにあなたのコマンドができるようにするに

は、単に使用:それは動作しない場合

$arguments = ['env' => 'prod']; 

、単に$input->setArgument('env', 'prod');

+0

まだThe the "env"引数が存在しません。 –

関連する問題