Symfony Process не выполняет команду
Из метода контроллера я хочу запустить команду Symfony в фоновом режиме.
public function collaboratorsSendInvitationsAction($company_id)
{
$process = new Process(
'php ' . $this->get('kernel')->getRootDir() . '/console nd:company send-invitations --id ' . $company_id
);
$process->start();
return $this->redirectToRoute('collaborators_list', [
'company_id' => $company_id,
]);
}
Процесс, кажется, работает, потому что если я выполню $process->getPid();
Я получаю pid, но команда не выполняется.
Я исследовал, провел несколько тестов и получаю следующий результат: Когда я комментирую строку 290 класса Process.php ($this->status = self::STATUS_STARTED;
) затем команда выполняется. Если нет, ничего не происходит.
Кто-нибудь сталкивался с этой проблемой? Что может вызвать это? Я указываю, что я использую Symfony 2.8.28 и PHP 7.1.10. Проблема обнаружена на MacOS и Ubuntu Server.
Когда я сбрасываю процесс и выполняю отображаемую вручную команду, все работает.