如何使用流程组件中的多个命令?



我需要用Process Component执行很多命令。

$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();
}

我认为只有第一个命令有效。我没有错。有人知道为什么吗?

当您在函数中使用的循环中使用return时,循环被打破。在您的代码中,代码一直运行,直到返回(一次),然后返回输出并停止迭代。

你应该移除return $process->getOutput();来处理所有的命令。

相关内容

  • 没有找到相关文章

最新更新