Warning: file_put_contents(../storage.json): Failed to open stream: Permission denied in /var/www/masy-v4/public/index.php on line 56
Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56. (500 Internal Server Error)

Symfony Exception

RuntimeException RuntimeException RuntimeException

HTTP 500 Internal Server Error

Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56.

Exceptions 3

RuntimeException

  1. if (\PHP_SESSION_ACTIVE === session_status()) {
  2. throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3. }
  4. if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOL) && headers_sent($file, $line)) {
  5. throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
  6. }
  7. $sessionId = $_COOKIE[session_name()] ?? null;
  8. /*
  9. * Explanation of the session ID regular expression: `/^[a-zA-Z0-9,-]{22,250}$/`.
  1. }
  2. if (!$this->started && $this->saveHandler->isActive()) {
  3. $this->loadSession();
  4. } elseif (!$this->started) {
  5. $this->start();
  6. }
  7. return $this->bags[$name];
  8. }
  1. $this->storage->registerBag(new SessionBagProxy($bag, $this->data, $this->usageIndex, $this->usageReporter));
  2. }
  3. public function getBag(string $name): SessionBagInterface
  4. {
  5. $bag = $this->storage->getBag($name);
  6. return method_exists($bag, 'getBag') ? $bag->getBag() : $bag;
  7. }
  8. /**
  1. *
  2. * Note that this method was added to help with IDE autocompletion.
  3. */
  4. private function getAttributeBag(): AttributeBagInterface
  5. {
  6. return $this->getBag($this->attributeName);
  7. }
  8. }
  1. return $this->getAttributeBag()->has($name);
  2. }
  3. public function get(string $name, mixed $default = null): mixed
  4. {
  5. return $this->getAttributeBag()->get($name, $default);
  6. }
  7. /**
  8. * @return void
  9. */
  1. $request->getSession()->set('_locale', $langFromQuery);
  2. $request->setLocale($langFromQuery);
  3. return;
  4. }
  5. // For other routes, use the session's locale if available, or default to 'fr'
  6. $locale = $request->getSession()->get('_locale');
  7. if ($locale) {
  8. $request->setLocale($locale);
  9. } else {
  10. $acceptLanguage = $request->headers->get('Accept-Language');
  11. if ($acceptLanguage) {
  1. $this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);
  2. $e = $this->stopwatch->start($this->name, 'event_listener');
  3. try {
  4. ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
  5. } finally {
  6. if ($e->isStarted()) {
  7. $e->stop();
  8. }
  9. }
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. try {
  2. $this->beforeDispatch($eventName, $event);
  3. try {
  4. $e = $this->stopwatch->start($eventName, 'section');
  5. try {
  6. $this->dispatcher->dispatch($event, $eventName);
  7. } finally {
  8. if ($e->isStarted()) {
  9. $e->stop();
  10. }
  11. }
  1. */
  2. private function handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response
  3. {
  4. // request
  5. $event = new RequestEvent($this, $request, $type);
  6. $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
  7. if ($event->hasResponse()) {
  8. return $this->filterResponse($event->getResponse(), $request, $type);
  9. }
  1. $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2. $this->requestStack->push($request);
  3. $response = null;
  4. try {
  5. return $response = $this->handleRaw($request, $type);
  6. } catch (\Throwable $e) {
  7. if ($e instanceof \Error && !$this->handleAllThrowables) {
  8. throw $e;
  9. }
  1. }
  2. $request = $this->duplicateRequest($throwable, $event->getRequest());
  3. try {
  4. $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false);
  5. } catch (\Exception $e) {
  6. $f = FlattenException::createFromThrowable($e);
  7. $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), basename($e->getFile()), $e->getLine()));
  1. $this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);
  2. $e = $this->stopwatch->start($this->name, 'event_listener');
  3. try {
  4. ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
  5. } finally {
  6. if ($e->isStarted()) {
  7. $e->stop();
  8. }
  9. }
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. try {
  2. $this->beforeDispatch($eventName, $event);
  3. try {
  4. $e = $this->stopwatch->start($eventName, 'section');
  5. try {
  6. $this->dispatcher->dispatch($event, $eventName);
  7. } finally {
  8. if ($e->isStarted()) {
  9. $e->stop();
  10. }
  11. }
  1. * Handles a throwable by trying to convert it to a Response.
  2. */
  3. private function handleThrowable(\Throwable $e, Request $request, int $type): Response
  4. {
  5. $event = new ExceptionEvent($this, $request, $type, $e);
  6. $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);
  7. // a listener might have replaced the exception
  8. $e = $event->getThrowable();
  9. if (!$event->hasResponse()) {
  1. if ($pop = $request !== $this->requestStack->getMainRequest()) {
  2. $this->requestStack->push($request);
  3. }
  4. try {
  5. $response = $this->handleThrowable($exception, $request, self::MAIN_REQUEST);
  6. } finally {
  7. if ($pop) {
  8. $this->requestStack->pop();
  9. }
  10. }
  1. if ($hasRun) {
  2. throw $e;
  3. }
  4. $hasRun = true;
  5. $kernel->terminateWithException($e, $request);
  6. };
  7. }
  8. } elseif ($event instanceof ConsoleEvent && $app = $event->getCommand()->getApplication()) {
  9. $output = $event->getOutput();
  10. if ($output instanceof ConsoleOutputInterface) {
in /var/www/masy-v4/vendor/symfony/error-handler/ErrorHandler.php :: Symfony\Component\HttpKernel\EventListener\{closure} (line 538)
  1. $this->exceptionHandler = null;
  2. }
  3. try {
  4. if (null !== $exceptionHandler) {
  5. $exceptionHandler($exception);
  6. return;
  7. }
  8. $handlerException ??= $exception;
  9. } catch (\Throwable $handlerException) {
  1. $previousExceptionHandler = $this->previousExceptionHandler;
  2. $this->previousExceptionHandler = null;
  3. try {
  4. if (null !== $previousExceptionHandler) {
  5. $previousExceptionHandler($exception);
  6. return;
  7. }
  8. } catch (\Throwable $previousExceptionHandlerException) {
  9. // This `catch` statement is here to forcefully override the
ErrorHandler->handleException(object(RuntimeException))

RuntimeException

Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56.

  1. if (\PHP_SESSION_ACTIVE === session_status()) {
  2. throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3. }
  4. if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOL) && headers_sent($file, $line)) {
  5. throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
  6. }
  7. $sessionId = $_COOKIE[session_name()] ?? null;
  8. /*
  9. * Explanation of the session ID regular expression: `/^[a-zA-Z0-9,-]{22,250}$/`.
  1. }
  2. if (!$this->started && $this->saveHandler->isActive()) {
  3. $this->loadSession();
  4. } elseif (!$this->started) {
  5. $this->start();
  6. }
  7. return $this->bags[$name];
  8. }
  1. $this->storage->registerBag(new SessionBagProxy($bag, $this->data, $this->usageIndex, $this->usageReporter));
  2. }
  3. public function getBag(string $name): SessionBagInterface
  4. {
  5. $bag = $this->storage->getBag($name);
  6. return method_exists($bag, 'getBag') ? $bag->getBag() : $bag;
  7. }
  8. /**
  1. *
  2. * Note that this method was added to help with IDE autocompletion.
  3. */
  4. private function getAttributeBag(): AttributeBagInterface
  5. {
  6. return $this->getBag($this->attributeName);
  7. }
  8. }
  1. return $this->getAttributeBag()->has($name);
  2. }
  3. public function get(string $name, mixed $default = null): mixed
  4. {
  5. return $this->getAttributeBag()->get($name, $default);
  6. }
  7. /**
  8. * @return void
  9. */
  1. $request->getSession()->set('_locale', $langFromQuery);
  2. $request->setLocale($langFromQuery);
  3. return;
  4. }
  5. // For other routes, use the session's locale if available, or default to 'fr'
  6. $locale = $request->getSession()->get('_locale');
  7. if ($locale) {
  8. $request->setLocale($locale);
  9. } else {
  10. $acceptLanguage = $request->headers->get('Accept-Language');
  11. if ($acceptLanguage) {
  1. $this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);
  2. $e = $this->stopwatch->start($this->name, 'event_listener');
  3. try {
  4. ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
  5. } finally {
  6. if ($e->isStarted()) {
  7. $e->stop();
  8. }
  9. }
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. try {
  2. $this->beforeDispatch($eventName, $event);
  3. try {
  4. $e = $this->stopwatch->start($eventName, 'section');
  5. try {
  6. $this->dispatcher->dispatch($event, $eventName);
  7. } finally {
  8. if ($e->isStarted()) {
  9. $e->stop();
  10. }
  11. }
  1. */
  2. private function handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response
  3. {
  4. // request
  5. $event = new RequestEvent($this, $request, $type);
  6. $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
  7. if ($event->hasResponse()) {
  8. return $this->filterResponse($event->getResponse(), $request, $type);
  9. }
  1. $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2. $this->requestStack->push($request);
  3. $response = null;
  4. try {
  5. return $response = $this->handleRaw($request, $type);
  6. } catch (\Throwable $e) {
  7. if ($e instanceof \Error && !$this->handleAllThrowables) {
  8. throw $e;
  9. }
  1. }
  2. $request = $this->duplicateRequest($throwable, $event->getRequest());
  3. try {
  4. $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false);
  5. } catch (\Exception $e) {
  6. $f = FlattenException::createFromThrowable($e);
  7. $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', $f->getClass(), $f->getMessage(), basename($e->getFile()), $e->getLine()));
  1. $this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);
  2. $e = $this->stopwatch->start($this->name, 'event_listener');
  3. try {
  4. ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
  5. } finally {
  6. if ($e->isStarted()) {
  7. $e->stop();
  8. }
  9. }
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. try {
  2. $this->beforeDispatch($eventName, $event);
  3. try {
  4. $e = $this->stopwatch->start($eventName, 'section');
  5. try {
  6. $this->dispatcher->dispatch($event, $eventName);
  7. } finally {
  8. if ($e->isStarted()) {
  9. $e->stop();
  10. }
  11. }
  1. * Handles a throwable by trying to convert it to a Response.
  2. */
  3. private function handleThrowable(\Throwable $e, Request $request, int $type): Response
  4. {
  5. $event = new ExceptionEvent($this, $request, $type, $e);
  6. $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);
  7. // a listener might have replaced the exception
  8. $e = $event->getThrowable();
  9. if (!$event->hasResponse()) {
  1. $this->finishRequest($request, $type);
  2. throw $e;
  3. }
  4. return $response = $this->handleThrowable($e, $request, $type);
  5. } finally {
  6. $this->requestStack->pop();
  7. if ($response instanceof StreamedResponse && $callback = $response->getCallback()) {
  8. $requestStack = $this->requestStack;
  1. $this->boot();
  2. ++$this->requestStackSize;
  3. $this->resetServices = true;
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. if (!IpUtils::checkIp('127.0.0.1', $trustedProxies)) {
  2. Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet());
  3. }
  4. try {
  5. return $kernel->handle($request, $type, $catch);
  6. } finally {
  7. // restore global state
  8. Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
  9. }
  10. }
  1. protected function forward(Request $request, bool $catch = false, ?Response $entry = null)
  2. {
  3. $this->surrogate?->addSurrogateCapability($request);
  4. // always a "master" request (as the real master request can be in cache)
  5. $response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MAIN_REQUEST, $catch);
  6. /*
  7. * Support stale-if-error given on Responses or as a config option.
  8. * RFC 7234 summarizes in Section 4.2.4 (but also mentions with the individual
  9. * Cache-Control directives) that
  1. protected function forward(Request $request, bool $catch = false, ?Response $entry = null): Response
  2. {
  3. $this->getKernel()->boot();
  4. $this->getKernel()->getContainer()->set('cache', $this);
  5. return parent::forward($request, $catch, $entry);
  6. }
  7. /**
  8. * Returns an array of options to customize the Cache configuration.
  9. */
  1. // avoid that the backend sends no content
  2. $subRequest->headers->remove('If-Modified-Since');
  3. $subRequest->headers->remove('If-None-Match');
  4. $response = $this->forward($subRequest, $catch);
  5. if ($response->isCacheable()) {
  6. $this->store($request, $response);
  7. }
  1. }
  2. if (null === $entry) {
  3. $this->record($request, 'miss');
  4. return $this->fetch($request, $catch);
  5. }
  6. if (!$this->isFreshEnough($request, $entry)) {
  7. $this->record($request, 'stale');
  1. reload the cache by fetching a fresh response and caching it (if possible).
  2. */
  3. $this->record($request, 'reload');
  4. $response = $this->fetch($request, $catch);
  5. } else {
  6. $response = $this->lookup($request, $catch);
  7. }
  8. $this->restoreResponseBody($request, $response);
  9. if (HttpKernelInterface::MAIN_REQUEST === $type) {
  1. {
  2. if (!$this->booted) {
  3. $container = $this->container ?? $this->preBoot();
  4. if ($container->has('http_cache')) {
  5. return $container->get('http_cache')->handle($request, $type, $catch);
  6. }
  7. }
  8. $this->boot();
  9. ++$this->requestStackSize;
Kernel->handle(object(Request)) in /var/www/masy-v4/public/index.php (line 97)
  1. // Instantiate the Kernel.
  2. $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
  3. // Handle the request and send the response.
  4. $response = $kernel->handle($request);
  5. $response->send();
  6. $kernel->terminate($request, $response);

RuntimeException

Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56.

  1. if (\PHP_SESSION_ACTIVE === session_status()) {
  2. throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3. }
  4. if (filter_var(\ini_get('session.use_cookies'), \FILTER_VALIDATE_BOOL) && headers_sent($file, $line)) {
  5. throw new \RuntimeException(sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line));
  6. }
  7. $sessionId = $_COOKIE[session_name()] ?? null;
  8. /*
  9. * Explanation of the session ID regular expression: `/^[a-zA-Z0-9,-]{22,250}$/`.
  1. $this->registerBag($flashes);
  2. }
  3. public function start(): bool
  4. {
  5. return $this->storage->start();
  6. }
  7. public function has(string $name): bool
  8. {
  9. return $this->getAttributeBag()->has($name);
Session->start() in /var/www/masy-v4/src/Hades/AntiSpamBot.php (line 176)
  1. $request = $event->getRequest();
  2. $session = $request->hasSession() ? $request->getSession() : null;
  3. // Start session if not already started, to get a session ID for IP caching.
  4. if ($session && !$session->isStarted()) {
  5. $session->start();
  6. }
  7. // Get the client's IP, leveraging Redis cache if available
  8. $srcIp = $this->getClientIP($session?->getId());
  1. $this->priority ??= $dispatcher->getListenerPriority($eventName, $this->listener);
  2. $e = $this->stopwatch->start($this->name, 'event_listener');
  3. try {
  4. ($this->optimizedListener ?? $this->listener)($event, $eventName, $dispatcher);
  5. } finally {
  6. if ($e->isStarted()) {
  7. $e->stop();
  8. }
  9. }
  1. foreach ($listeners as $listener) {
  2. if ($stoppable && $event->isPropagationStopped()) {
  3. break;
  4. }
  5. $listener($event, $eventName, $this);
  6. }
  7. }
  8. /**
  9. * Sorts the internal list of listeners for the given event by priority.
  1. } else {
  2. $listeners = $this->getListeners($eventName);
  3. }
  4. if ($listeners) {
  5. $this->callListeners($listeners, $eventName, $event);
  6. }
  7. return $event;
  8. }
  1. try {
  2. $this->beforeDispatch($eventName, $event);
  3. try {
  4. $e = $this->stopwatch->start($eventName, 'section');
  5. try {
  6. $this->dispatcher->dispatch($event, $eventName);
  7. } finally {
  8. if ($e->isStarted()) {
  9. $e->stop();
  10. }
  11. }
  1. */
  2. private function handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response
  3. {
  4. // request
  5. $event = new RequestEvent($this, $request, $type);
  6. $this->dispatcher->dispatch($event, KernelEvents::REQUEST);
  7. if ($event->hasResponse()) {
  8. return $this->filterResponse($event->getResponse(), $request, $type);
  9. }
  1. $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2. $this->requestStack->push($request);
  3. $response = null;
  4. try {
  5. return $response = $this->handleRaw($request, $type);
  6. } catch (\Throwable $e) {
  7. if ($e instanceof \Error && !$this->handleAllThrowables) {
  8. throw $e;
  9. }
  1. $this->boot();
  2. ++$this->requestStackSize;
  3. $this->resetServices = true;
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. if (!IpUtils::checkIp('127.0.0.1', $trustedProxies)) {
  2. Request::setTrustedProxies(array_merge($trustedProxies, ['127.0.0.1']), Request::getTrustedHeaderSet());
  3. }
  4. try {
  5. return $kernel->handle($request, $type, $catch);
  6. } finally {
  7. // restore global state
  8. Request::setTrustedProxies($trustedProxies, $trustedHeaderSet);
  9. }
  10. }
  1. protected function forward(Request $request, bool $catch = false, ?Response $entry = null)
  2. {
  3. $this->surrogate?->addSurrogateCapability($request);
  4. // always a "master" request (as the real master request can be in cache)
  5. $response = SubRequestHandler::handle($this->kernel, $request, HttpKernelInterface::MAIN_REQUEST, $catch);
  6. /*
  7. * Support stale-if-error given on Responses or as a config option.
  8. * RFC 7234 summarizes in Section 4.2.4 (but also mentions with the individual
  9. * Cache-Control directives) that
  1. protected function forward(Request $request, bool $catch = false, ?Response $entry = null): Response
  2. {
  3. $this->getKernel()->boot();
  4. $this->getKernel()->getContainer()->set('cache', $this);
  5. return parent::forward($request, $catch, $entry);
  6. }
  7. /**
  8. * Returns an array of options to customize the Cache configuration.
  9. */
  1. // avoid that the backend sends no content
  2. $subRequest->headers->remove('If-Modified-Since');
  3. $subRequest->headers->remove('If-None-Match');
  4. $response = $this->forward($subRequest, $catch);
  5. if ($response->isCacheable()) {
  6. $this->store($request, $response);
  7. }
  1. }
  2. if (null === $entry) {
  3. $this->record($request, 'miss');
  4. return $this->fetch($request, $catch);
  5. }
  6. if (!$this->isFreshEnough($request, $entry)) {
  7. $this->record($request, 'stale');
  1. reload the cache by fetching a fresh response and caching it (if possible).
  2. */
  3. $this->record($request, 'reload');
  4. $response = $this->fetch($request, $catch);
  5. } else {
  6. $response = $this->lookup($request, $catch);
  7. }
  8. $this->restoreResponseBody($request, $response);
  9. if (HttpKernelInterface::MAIN_REQUEST === $type) {
  1. {
  2. if (!$this->booted) {
  3. $container = $this->container ?? $this->preBoot();
  4. if ($container->has('http_cache')) {
  5. return $container->get('http_cache')->handle($request, $type, $catch);
  6. }
  7. }
  8. $this->boot();
  9. ++$this->requestStackSize;
Kernel->handle(object(Request)) in /var/www/masy-v4/public/index.php (line 97)
  1. // Instantiate the Kernel.
  2. $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
  3. // Handle the request and send the response.
  4. $response = $kernel->handle($request);
  5. $response->send();
  6. $kernel->terminate($request, $response);

Stack Traces 3

[3/3] RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56.

  at /var/www/masy-v4/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:132
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:311)
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag('attributes')
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:222)
  at Symfony\Component\HttpFoundation\Session\Session->getBag('attributes')
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:242)
  at Symfony\Component\HttpFoundation\Session\Session->getAttributeBag()
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:69)
  at Symfony\Component\HttpFoundation\Session\Session->get('_locale')
     (/var/www/masy-v4/src/Hades/MultiLangue/LocaleSubscriber.php:40)
  at App\Hades\MultiLangue\LocaleSubscriber->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:116)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:139)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:157)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 2)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 2, false)
     (/var/www/masy-v4/vendor/symfony/http-kernel/EventListener/ErrorListener.php:117)
  at Symfony\Component\HttpKernel\EventListener\ErrorListener->onKernelException(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:116)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.exception', object(ExceptionEvent))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:139)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:239)
  at Symfony\Component\HttpKernel\HttpKernel->handleThrowable(object(RuntimeException), object(Request), 1)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:132)
  at Symfony\Component\HttpKernel\HttpKernel->terminateWithException(object(RuntimeException), object(Request))
     (/var/www/masy-v4/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php:84)
  at Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::Symfony\Component\HttpKernel\EventListener\{closure}(object(RuntimeException))
     (/var/www/masy-v4/vendor/symfony/error-handler/ErrorHandler.php:538)
  at Symfony\Component\ErrorHandler\ErrorHandler->handleException(object(RuntimeException))
     (/var/www/masy-v4/vendor/sentry/sentry/src/ErrorHandler.php:406)
  at Sentry\ErrorHandler->handleException(object(RuntimeException))                
[2/3] RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56.

  at /var/www/masy-v4/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:132
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:311)
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag('attributes')
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:222)
  at Symfony\Component\HttpFoundation\Session\Session->getBag('attributes')
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:242)
  at Symfony\Component\HttpFoundation\Session\Session->getAttributeBag()
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:69)
  at Symfony\Component\HttpFoundation\Session\Session->get('_locale')
     (/var/www/masy-v4/src/Hades/MultiLangue/LocaleSubscriber.php:40)
  at App\Hades\MultiLangue\LocaleSubscriber->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:116)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:139)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:157)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 2)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 2, false)
     (/var/www/masy-v4/vendor/symfony/http-kernel/EventListener/ErrorListener.php:117)
  at Symfony\Component\HttpKernel\EventListener\ErrorListener->onKernelException(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:116)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.exception', object(ExceptionEvent))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:139)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:239)
  at Symfony\Component\HttpKernel\HttpKernel->handleThrowable(object(RuntimeException), object(Request), 1)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:91)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/Kernel.php:197)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php:86)
  at Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(object(Kernel), object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:476)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(object(Request), true, null)
     (/var/www/masy-v4/vendor/symfony/framework-bundle/HttpCache/HttpCache.php:68)
  at Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache->forward(object(Request), true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:451)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(object(Request), true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:349)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(object(Request), true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:222)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/Kernel.php:188)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (/var/www/masy-v4/public/index.php:97)                
[1/3] RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/var/www/masy-v4/public/index.php" at line 56.

  at /var/www/masy-v4/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:132
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (/var/www/masy-v4/vendor/symfony/http-foundation/Session/Session.php:59)
  at Symfony\Component\HttpFoundation\Session\Session->start()
     (/var/www/masy-v4/src/Hades/AntiSpamBot.php:176)
  at App\Hades\AntiSpamBot->onKernelRequest(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:116)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(RequestEvent), 'kernel.request', object(TraceableEventDispatcher))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:220)
  at Symfony\Component\EventDispatcher\EventDispatcher->callListeners(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(RequestEvent))
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (/var/www/masy-v4/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:139)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(RequestEvent), 'kernel.request')
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:157)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/Kernel.php:197)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php:86)
  at Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(object(Kernel), object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:476)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(object(Request), true, null)
     (/var/www/masy-v4/vendor/symfony/framework-bundle/HttpCache/HttpCache.php:68)
  at Symfony\Bundle\FrameworkBundle\HttpCache\HttpCache->forward(object(Request), true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:451)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->fetch(object(Request), true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:349)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->lookup(object(Request), true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/HttpCache/HttpCache.php:222)
  at Symfony\Component\HttpKernel\HttpCache\HttpCache->handle(object(Request), 1, true)
     (/var/www/masy-v4/vendor/symfony/http-kernel/Kernel.php:188)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (/var/www/masy-v4/public/index.php:97)