如何通过新进程在服务中运行命令(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
我哪里做错了?
编辑-解决方案:我们需要写出整个路径。在我的例子中:
一个二个一个一个
2条答案
按热度按时间egmofgnx1#
这几乎就是您真正需要做的全部工作。我总是设置工作目录,并假设这是必要的,以便Symfony命令从项目的根目录运行
出于调试目的,我通常设置
同样
pod7payv2#
我无法让
setWorkingDirectory
函数在Windows上正常工作...在Symfony〉= 4.4的Windows上,
fromShellCommandline
函数更适合我:希望这对其他人有帮助!