Symfony Process不执行命令

时间:2017-11-22 14:22:18

标签: php symfony command-line process 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,但命令不会被执行。

我已经调查过,做过几次测试,然后得出以下结果: 当我对类Process.php$this->status = self::STATUS_STARTED;)的第290行进行注释时,将执行该命令。如果不是,没有任何反应。

有没有人遇到过这个问题?是什么导致这个?我指定使用Symfony 2.8.28和PHP 7.1.10。问题出现在MacOS和Ubuntu Server上。

当我转储进程并执行手动显示的命令时,一切正常。

0 个答案:

没有答案