Папка поиска команд Symfony - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь вызвать команду, используя symfony. Процесс и команда выглядят так:

$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 Ответ

0 голосов
/ 26 февраля 2019

С моей точки зрения, ваш подход не работает, потому что новый процесс должен быть определен в массиве, где каждый кусок 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');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...