if ($this->started) {
return true;
}
if (\PHP_SESSION_ACTIVE === session_status()) {
throw new \RuntimeException('Failed to start the session: already started by PHP.');
}
if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOLEAN) && headers_sent($file, $line)) {
throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
}
* {@inheritdoc}
*/
public function getToken($tokenId)
{
$namespacedId = $this->getNamespace().$tokenId;
if ($this->storage->hasToken($namespacedId)) {
$value = $this->storage->getToken($namespacedId);
} else {
$value = $this->generator->generateToken();
$this->storage->setToken($namespacedId, $value);
public function finishView(FormView $view, FormInterface $form, array $options)
{
if ($options['csrf_protection'] && !$view->parent && $options['compound']) {
$factory = $form->getConfig()->getFormFactory();
$tokenId = $options['csrf_token_id'] ?: ($form->getName() ?: \get_class($form->getConfig()->getType()->getInnerType()));
$data = (string) $options['csrf_token_manager']->getToken($tokenId);
$csrfForm = $factory->createNamed($options['csrf_field_name'], HiddenType::class, $data, [
'block_prefix' => 'csrf_token',
'mapped' => false,
]);
$this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
$controller = $event->getController();
$arguments = $event->getArguments();
// call controller
$response = $controller(...$arguments);
// view
if (!$response instanceof Response) {
$event = new ViewEvent($this, $request, $type, $response);
$this->dispatcher->dispatch($event, KernelEvents::VIEW);
{
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
$this->requestStack->push($request);
try {
return $this->handleRaw($request, $type);
} catch (\Exception $e) {
if ($e instanceof RequestExceptionInterface) {
$e = new BadRequestHttpException($e->getMessage(), $e);
}
if (false === $catch) {
No log messages
RuntimeException |
---|
RuntimeException: Failed to start the session: already started by PHP. at vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:148 at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start() (vendor/symfony/http-foundation/Session/Session.php:57) at Symfony\Component\HttpFoundation\Session\Session->start() (vendor/symfony/security-csrf/TokenStorage/SessionTokenStorage.php:77) at Symfony\Component\Security\Csrf\TokenStorage\SessionTokenStorage->hasToken() (vendor/symfony/security-csrf/CsrfTokenManager.php:72) at Symfony\Component\Security\Csrf\CsrfTokenManager->getToken() (vendor/symfony/form/Extension/Csrf/Type/FormTypeCsrfExtension.php:85) at Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension->finishView() (vendor/symfony/form/ResolvedFormType.php:167) at Symfony\Component\Form\ResolvedFormType->finishView() (vendor/symfony/form/ResolvedFormType.php:160) at Symfony\Component\Form\ResolvedFormType->finishView() (vendor/symfony/form/Form.php:1061) at Symfony\Component\Form\Form->createView() (src/Controller/CartController.php:2725) at App\Controller\CartController->viewCart() (vendor/symfony/http-kernel/HttpKernel.php:169) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor/symfony/http-kernel/HttpKernel.php:81) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor/symfony/http-kernel/Kernel.php:201) at Symfony\Component\HttpKernel\Kernel->handle() (public/index.php:35) |