Я хочу выполнить команду fos:elastica:populate с моего контроллера.
Я попробовал этот код, но он не работает, я получаю ошибку = 1, var_dump показывает ""
$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()));
В нем говорится: «Опция «без взаимодействия» не существует». at Input ->getOption («без взаимодействия») в PopulateCommand.
если я изменю свой код с помощью:
$input = new StringInput('--no-interaction');
Он говорит: «Опция «--no-interaction» не существует». at
'ArgvInput ->addLongOption ("без взаимодействия", ноль) '