Symfony2 : Échec du démarrage de la session, car les en-têtes ont déjà été envoyés

TL;DR
Une erreur sur une machine Linux avec Nginx /PHP-FPM indiquant "impossible de démarrer la session, car les en-têtes ont déjà été envoyés.". L'erreur ne se produit pas sur un serveur Apache local d'installation de la machine

Donc sur ma machine locale, j'ai l'Symfony2 application en cours d'exécution fine. Pas d'erreurs sont popping up. Mais dès que je le déployer sur notre Serveur Linux j'obtiens cette erreur quand je l'appelle un certain type d'Action au sein d'un Contrôleur de classe

Failed to start the session because headers have already been sent. 

Dans l'action "index" j'ai déjà appelé

$session = $this->getRequest()->getSession();

Et dans une autre action au sein de la même classe de contrôleur, je suis d'appeler à nouveau. L'erreur s'affiche lorsque j'essaie un

$session->set('foo', $bar);

Dans mon Twig je suis d'appeler à l'action d'un formulaire et un bouton avec un formaction propriété comme

<form id='blahblah'>
    .... some fields here .....
    <button type='submit' formaction='{{path('2ndAction')}}'></a>
</form>

Donc sur ma machine locale, en exécutant Apache tout marche bien. Le serveur Linux est d'utiliser Nginx et php-fpm et il plante pour une raison quelconque. J'ai vérifié le phpInfo() et la session de démarrage automatique est désactivée. Vous ne savez pas si c'est un Nginx/php-fpm problème ou pas, mais je pense qu'il peut être pertinent de l'information.

Ici, c'est le Contrôleur de déclaration, indexAction(), et mon 2ndAction()

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session;    
use CBSi\Utils\HTTPUtils\CURLUtil;

class StartController extends Controller
{
    /**
     * @var  CurlUtil $curlUtil
     */
    private $curlUtil;

    /**
     * @var AccessControl $accessControl
     */

    private $accessControl;

    /*placeholder for request object*/
    private $requestHolder;


   /**
    * @Route("/path/for/action/one", name="start")
    * @Template()
    */


public function indexAction()
{
 $session = $this->getRequest()->getSession();
 $this->curlUtil = $this->get('curlUtil');
 $this->requestHolder= Request::createFromGlobals();

//Some logic is done here


return $this->render('ListEngagementBundle:Start:start.html.twig');

}

/**
 * @Route("/path/to/second/action", name="2ndAction")
 * @Template
 */
public function 2ndAction(){
    $session = $this->getRequest()->getSession();
    $this-> curlUtil = $this->get('curlUtil');
    $this->requestHolder= Request::createFromGlobals();

    //Some logic is done here to get the data for the session variable

       $bar= logic output

               $session->set('foo', $bar);

    return $this->redirect($this->generateUrl('start'));
}
}

Si vous avez besoin de plus d'info que je peux donner je vais 🙂