symfony 如何使用多个命令进程组件?

qcbq4gxm  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(90)

我需要用进程组件执行许多命令。

$commands = [
                ["mkdir", "-p", path)],
                ["cd", path],
                ["rm", "-f", $archiveName, $sqlDbName . '.sql'],
                [$this->dumpCommand($sqlDbName)],
                ["tar", "zcfP", $archiveName, $sqlDbName . '.sql'],
                ["rm", "-f", $sqlDbName . ".sql"],
           ];

foreach ($commands as $command) {
    $process = new Process($command);
    $process->run();
    return $process->getOutput();
}

字符串
我认为只有第一个命令起作用。我没有错误。有人知道为什么吗?

lx0bsm1f

lx0bsm1f1#

当你在函数中使用的循环中使用return时,循环就被破坏了。在你的代码中,代码一直在运行,直到返回(一次),然后返回输出并停止迭代。
你应该删除return $process->getOutput();来处理所有命令.

相关问题