如何运行命令(app / console execute:my:command)
通过新流程提供服务?
我试试这个:
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
$process = new Process(
'app/console execute:my:command'
);
$process->start();
但没有任何反应……
如果我通过终端手动调用它,它可以工作:
app/console execute:my:command
我究竟做错了什么?
EDIT – Solution: We need to write the whole path. In my case:
06002
$processString = sprintf(
'php %s/../app/console %s %s',
$this->kernelRootDir,
self::MY_COMMAND,
$myArgument
);
$process = new Process($processString);
$process->start();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}