В новом symfony2-проекте (установка, как описано here), я хотел бы начать консольный процесс как часть запроса. Приложение работает на «стандартном» ubuntu 14.04 с nginx + php-fpm.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-службу после каждого запроса. Так что это, возможно, не проблема программирования. Но я еще не знаю, честно. Проблема была описана в stackoverflow перед, Symfony2 - process launching a symfony2 command, но обходной путь с exec не работает для меня.
Есть ли у кого-нибудь ключ?
Спасибо, С уважением, Jojo
как для downvote: nevermind, но поскольку это был мой первый вопрос здесь, я был бы признателен за короткую обратную связь о том, что улучшить. Спасибо :) – Jojo