Symfony 5 — запуск maildev из команды

#php #bash #symfony #service #command

Вопрос:

Когда я разрабатываю с Symfony, я использую MailDev для управления электронной почтой.

Но когда я запускаю его, я должен ввести эту команду, чтобы избежать проблем из-за SSL:

maildev --hide-extensions STARTTLS

Поэтому у меня возникла идея создать команду Symfony, которая автоматически выполняла бы эту команду с аргументами.

Для этого я решил использовать компонент процесса Symfony https://symfony.com/doc/current/components/process.html

Я создал это :

 $process = Process::fromShellCommandline($command); //$command => the command to launch
$process->run();

if(!$process->isSuccessful())
{
    throw new ProcessFailedException($process);
}

$output->writeln($process->getOutput());
 

Таким образом, это работает для команд с одним выстрелом, таких как «ls-l», которые отправляют вам результат. Но, как я и ожидал, для запуска сервисов, таких как maildev, messenger, есть ошибка, потому что он вообще ничего не отображает. Цель состоит в том, чтобы просто запустить команду и баста, а затем служба (maildev, messenger) берет на себя отображение того, что она должна отображать непрерывно.

Я немного застрял, так что у тебя есть идея?