새로운 symfony2 프로젝트 (설치는 here로 설명 됨)에서 요청의 일부로 콘솔 프로세스를 시작하고 싶습니다. 응용 프로그램은 nginx + php-fpm을 사용하는 "표준"우분투 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-service를 다시 시작해야합니다. 따라서 프로그래밍 문제는 아닙니다. 그러나 나는 아직 모른다. 솔직히. 문제는 stackoverflow 이전에 Symfony2 - process launching a symfony2 command에 설명되어 있지만 exec와 함께 해결 방법이 작동하지 않습니다.
실마리가 있습니까?
감사합니다, 감사합니다,이 작업을 완료하는 것을 처리하기 전에
downvote에 관해서는 : 신경 쓰지 마라. 그러나 이것이 나의 첫 번째 질문이었던 것에 따라, 나는 무엇을 개선해야하는지에 대한 짧은 의견에 감사 할 것이다. 감사합니다 :) – Jojo