O framework Symfony2 não permite a simples desabilitação do PHPSESSID
cookie, já que ele é codificado no próprio framework e sobrescreve qualquer configuração PHP que você possa ter no php.ini
arquivo ou em um .htaccess
arquivo.
Para remover o cookie, é necessário substituir o manipulador de armazenamento de sessão padrão.
<?php
namespace InseadMIMBundleServiceSession;
use SymfonyComponentDependencyInjectionContainerInterface;
use SymfonyComponentHttpFoundationSessionStorageNativeSessionStorage;
class Storage extends NativeSessionStorage
{
public function __construct(array $options = array(), $handler = null, MetadataBag $metaBag = null)
{
session_cache_limiter(''); // disable by default because it's managed by HeaderBag (if used)
ini_set('session.use_cookies', 0);
if (PHP_VERSION_ID >= 50400) {
session_register_shutdown();
} else {
register_shutdown_function('session_write_close');
}
$this->setMetadataBag($metaBag);
$this->setOptions($options);
$this->setSaveHandler($handler);
}
}