Symfony命令查找文件夹

时间:2019-02-26 09:45:27

标签: windows symfony terminal command

我正在尝试使用symfony Process调用命令,并且命令看起来像这样:

$data = escapeshellarg("public\uploads\post_data.txt");
$url = "www.example.com/";
$process = new Process(['ab -n 10 -p '.$data.' -T application/x-www-form-urlencoded -w '. $url . 'test/send']);
$process->run();

当我从终端调用此命令时,它工作正常,但是当我尝试使用symfony命令调用它时,我得到了: The filename, directory name, or volume label syntax is incorrect.这个错误是Windows终端错误,据我所知,我认为问题出在\上,但是我试图将其更改为\\//和{{1} },但没有帮助。

1 个答案:

答案 0 :(得分:2)

在我看来,您的方法行不通,因为需要在数组中定义新的Process,其中shellcmd的每个部分都是数组中的一个条目。

因此,对于您的情况,您应该写

$process = new Process(['ab', '-n', 10, '-p', $data, '-T', 'application/x-www-form-urlencoded', '-w', $url.'test/send']);

或者尝试使用fromShellCommandline静态函数

$process = Process::fromShellCommandline('ab -n 10 -p '.$data.' -T application/x-www-form-urlencoded -w '. $url . 'test/send');