コントローラーからコマンド fos:elastica:populate を実行したいと思います。
そのコードを試してみましたが、うまくいきません。エラー = 1 の var_dump show "" が表示されます。
$command = 'fos:elastica:populate';
$app = new Application($this->get('kernel'));
$app->setAutoExit(false);
$input = new StringInput($command);
$output = new ConsoleOutput;
$error = $app->run($input, $output);
var_dump($error);
var_dump(stream_get_contents($output->getStream());
何か案は ?
別のコードを試してみます.....
$command = $this->get('FosElasticaPopulateService');
$input = new StringInput('');
$output = new ConsoleOutput();
ladybug_dump($input);
// Run the command
$retval = $command->run($input, $output);
if(!$retval)
{
echo "Command executed successfully!\n";
}
else
{
echo "Command was not successful.\n";
}
var_dump(stream_get_contents($output->getStream()));
それは言う:「「相互作用なし」オプションは存在しません。PopulateCommand の Input ->getOption ('no-interaction') で。
コードを次のように変更した場合:
$input = new StringInput('--no-interaction');
「「--no-interaction」オプションは存在しません」と表示されます。at
'ArgvInput ->addLongOption ('no-interaction', null) '