Sign in to Evolvepreneur EiQ

Don't have an account? Create one

Loading…
Loading the web debug toolbar…
Attempt #
Failed to start the session because headers have already been sent by "/app/vendor/symfony/http-foundation/Response.php" at line 1279. (500 Internal Server Error)

Symfony Exception

RuntimeException

HTTP 500 Internal Server Error

Failed to start the session because headers have already been sent by "/app/vendor/symfony/http-foundation/Response.php" at line 1279.

Exception

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->storage->start();
  2. }
  3. public function has(string $name): bool
  4. {
  5. return $this->getAttributeBag()->has($name);
  6. }
  7. public function get(string $name, mixed $default = null): mixed
  8. {
  9. return $this->getAttributeBag()->get($name, $default);
Session->has('_tenant_switch_recovery') in /app/src/EventSubscriber/TenantSwitchRecoverySubscriber.php (line 125)
  1. return true;
  2. }
  3. private function hasFlag(Request $request): bool
  4. {
  5. return $request->hasSession() && $request->getSession()->has(self::FLAG);
  6. }
  7. private function clearFlag(Request $request): void
  8. {
  9. if ($request->hasSession()) {
TenantSwitchRecoverySubscriber->hasFlag(object(Request)) in /app/src/EventSubscriber/TenantSwitchRecoverySubscriber.php (line 109)
  1. }
  2. }
  3. private function isPostSwitchPageRequest(Request $request): bool
  4. {
  5. if (!$this->hasFlag($request)) {
  6. return false;
  7. }
  8. if ($request->attributes->get('_route') === 'tenant_switch') {
  9. return false;
  10. }
TenantSwitchRecoverySubscriber->isPostSwitchPageRequest(object(Request)) in /app/src/EventSubscriber/TenantSwitchRecoverySubscriber.php (line 62)
  1. {
  2. if (!$event->isMainRequest()) {
  3. return;
  4. }
  5. $request = $event->getRequest();
  6. if (!$this->isPostSwitchPageRequest($request)) {
  7. return;
  8. }
  9. $throwable = $event->getThrowable();
  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, isKernelTerminating: $this->terminating);
  6. $this->dispatcher->dispatch($event, KernelEvents::EXCEPTION);
  7. // a listener might have replaced the exception
  8. $e = $event->getThrowable();
  9. if (!$event->hasResponse()) {
in /app/vendor/symfony/http-kernel/HttpKernel.php -> handleThrowable (line 134)
  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 /app/vendor/symfony/error-handler/ErrorHandler.php :: {closure:Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure():78} (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) {
ErrorHandler->handleException(object(ErrorException))

Stack Trace

RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/app/vendor/symfony/http-foundation/Response.php" at line 1279.

  at /app/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:116
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
     (/app/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php:282)
  at Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag('attributes')
     (/app/vendor/symfony/http-foundation/Session/Session.php:201)
  at Symfony\Component\HttpFoundation\Session\Session->getBag('attributes')
     (/app/vendor/symfony/http-foundation/Session/Session.php:221)
  at Symfony\Component\HttpFoundation\Session\Session->getAttributeBag()
     (/app/vendor/symfony/http-foundation/Session/Session.php:64)
  at Symfony\Component\HttpFoundation\Session\Session->has('_tenant_switch_recovery')
     (/app/src/EventSubscriber/TenantSwitchRecoverySubscriber.php:125)
  at App\EventSubscriber\TenantSwitchRecoverySubscriber->hasFlag(object(Request))
     (/app/src/EventSubscriber/TenantSwitchRecoverySubscriber.php:109)
  at App\EventSubscriber\TenantSwitchRecoverySubscriber->isPostSwitchPageRequest(object(Request))
     (/app/src/EventSubscriber/TenantSwitchRecoverySubscriber.php:62)
  at App\EventSubscriber\TenantSwitchRecoverySubscriber->onException(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
     (/app/vendor/symfony/event-dispatcher/Debug/WrappedListener.php:115)
  at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(ExceptionEvent), 'kernel.exception', object(TraceableEventDispatcher))
     (/app/vendor/symfony/event-dispatcher/EventDispatcher.php:206)
  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)), 'kernel.exception', object(ExceptionEvent))
     (/app/vendor/symfony/event-dispatcher/EventDispatcher.php:56)
  at Symfony\Component\EventDispatcher\EventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
     (/app/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:126)
  at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(object(ExceptionEvent), 'kernel.exception')
     (/app/vendor/symfony/http-kernel/HttpKernel.php:241)
  at Symfony\Component\HttpKernel\HttpKernel->handleThrowable(object(ErrorException), object(Request), 1)
     (/app/vendor/symfony/http-kernel/HttpKernel.php:134)
  at Symfony\Component\HttpKernel\HttpKernel->terminateWithException(object(ErrorException), object(Request))
     (/app/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php:84)
  at Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::{closure:Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure():78}(object(ErrorException))
     (/app/vendor/symfony/error-handler/ErrorHandler.php:538)
  at Symfony\Component\ErrorHandler\ErrorHandler->handleException(object(ErrorException))