我正在将旧的 Symfony 应用程序 (v2.8) 升级到 Symfony 5.3。我正在使用必须以不同于以前的方式传递参数的过程组件。
我以前的代码就像
use Symfony\Component\Process\Process;
$cmd = sprintf('mysqldump mydatabase > %s', $outputTarget);
$process = new Process($cmd);
$process->run();
现在,Symfony 的 Process 构造函数期望二进制文件和参数作为数组传递(见这里)。
如何使用新样式实现输出重定向?
$process = new Process(['mysqldump', 'mydatabase', '>', $outputTarget]);
$process->run();
不会工作,因为>
会被逃脱。