在新的symfony2-project(安裝描述爲here)中,我想啓動一個控制檯進程作爲請求的一部分。該應用程序使用nginx + php-fpm在「標準」ubuntu 14.04盒子上運行。symfony/process - 進程默默無法啓動
考慮這個控制器的代碼:
<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Process\Process;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class CommandController extends Controller
{
/**
* @Route("/command")
* @return JsonResponse
*/
public function commandAction()
{
$rootDir = $this->get('kernel')->getRootDir();
$env = $this->get('kernel')->getEnvironment();
$commandline = $rootDir . '/console --env=' . $env . ' acme:hello --who jojo'
$process = new Process($commandline);
$process->start();
return new JsonResponse(array('command' => $commandline));
}
}
當我發出一個請求/命令,我得到我預期的結果和過程開始,例如我用htop等來看它。 當我再次發出此請求時,我得到了我的預期結果,但要啓動的進程不會顯示在任何地方。沒有錯誤,沒有任何東西。
重新啓動php5-fpm服務使我能夠通過一個請求再次啓動一個進程,所以基本上我需要在每次請求後重新啓動整個php服務。所以這可能不是編程問題。但我還不確定,誠實。 此問題在之前的計算器上描述過,Symfony2 - process launching a symfony2 command,但是exec的解決方法對我來說不起作用。
有人有線索嗎?
感謝,問候, 喬喬它設法完成工作之前
至於downvote:nevermind,但因爲這是我的第一個問題在這裏,我將不勝感激什麼改善的簡短反饋。謝謝:) – Jojo