< Failed to start the session because headers have already been sent by "/mnt/web620/b0/44/5921644/htdocs/index.php" at line 17. (500 Whoops, looks like something went wrong.)

RuntimeException RuntimeException

HTTP 500 Whoops, looks like something went wrong.

Failed to start the session because headers have already been sent by "/mnt/web620/b0/44/5921644/htdocs/index.php" at line 17.

Exceptions 2

RuntimeException

  1.         if ($this->isActive()) {
  2.             throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3.         }
  4.         if (ini_get('session.use_cookies') && headers_sent($file$line)) {
  5.             throw new \RuntimeException(
  6.                 sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.'$file$line)
  7.             );
  8.         }
  9.         if (!session_start()) {
  1.                 $this->setId($session_clean);
  2.                 $cookie->set($session_name'', ['expires' => time() - 3600 ]);
  3.             }
  4.         }
  5.         parent::start();
  6.         // Try loading data from the session
  7.         if (!empty($_SESSION['joomla'])) {
  8.             $this->data unserialize(base64_decode($_SESSION['joomla']));
  9.         }
  1.     {
  2.         if ($this->isStarted()) {
  3.             return;
  4.         }
  5.         $this->store->start();
  6.         $this->setState(SessionState::ACTIVE);
  7.         // Initialise the session
  8.         $this->setCounter();
  1.      * @since   1.0
  2.      */
  3.     public function has($name)
  4.     {
  5.         if (!$this->isActive()) {
  6.             $this->start();
  7.         }
  8.         return $this->store->has($name);
  9.     }
  1.                 $name $args[2] . '.' $name;
  2.             }
  3.         }
  4.         if (parent::has($name)) {
  5.             // Parent is used because of b/c, can be changed in Joomla 6
  6.             return parent::get($name$default);
  7.         }
  8.         /*
  1.      */
  2.     public function getMessageQueue($clear false)
  3.     {
  4.         // For empty queue, if messages exists in the session, enqueue them.
  5.         if (!\count($this->messageQueue)) {
  6.             $sessionQueue $this->getSession()->get('application.queue', []);
  7.             if ($sessionQueue) {
  8.                 $this->messageQueue $sessionQueue;
  9.                 $this->getSession()->set('application.queue', []);
  10.             }
  1.             'message' => $inputFilter->clean($msg'html'),
  2.             'type'    => $inputFilter->clean(strtolower($type), 'cmd'),
  3.         ];
  4.         // Get the messages of the session and add the new message if it is not already in the queue.
  5.         if (!\in_array($message$this->getMessageQueue())) {
  6.             // Enqueue the message.
  7.             $this->messageQueue[] = $message;
  8.         }
  9.     }
  1.                         throw new \InvalidArgumentException(Text::sprintf('JERROR_COULD_NOT_FIND_TEMPLATE'$original_tmpl));
  2.                     }
  3.                 }
  4.             }
  5.         } elseif (!is_file(JPATH_THEMES '/' $template->template '/index.php')) {
  6.             $this->enqueueMessage(Text::_('JERROR_ALERTNOTEMPLATE'), 'error');
  7.             // Try to find data for 'cassiopeia' template
  8.             $original_tmpl $template->template;
  9.             foreach ($templates as $tmpl) {
  1.     public function render(\Throwable $error): string
  2.     {
  3.         $app Factory::getApplication();
  4.         // Get the current template from the application
  5.         $template $app->getTemplate(true);
  6.         // Push the error object into the document
  7.         $this->getDocument()->setError($error);
  8.         // Add registry file for the template asset
  1.                     'subject'  => $app,
  2.                     'document' => $renderer->getDocument(),
  3.                 ])
  4.             );
  5.             $data $renderer->render($error);
  6.             // If nothing was rendered, just use the message from the Exception
  7.             if (empty($data)) {
  8.                 $data $error->getMessage();
  9.             }
  1.      * @since   3.10.0
  2.      */
  3.     public static function handleException(\Throwable $error)
  4.     {
  5.         static::logException($error);
  6.         static::render($error);
  7.     }
  8.     /**
  9.      * Render the error page based on an exception.
  10.      *
  1.             );
  2.             // Trigger the onError event.
  3.             $this->dispatchEvent('onError'$event);
  4.             ExceptionHandler::handleException($event->getError());
  5.         }
  6.         // Trigger the onBeforeRespond event.
  7.         $this->dispatchEvent(
  8.             'onBeforeRespond',
CMSApplication->execute() in /mnt/web620/b0/44/5921644/htdocs/includes/app.php (line 58)
  1. // Set the application as global app
  2. \Joomla\CMS\Factory::$application $app;
  3. // Execute the application.
  4. $app->execute();
require_once('/mnt/web620/b0/44/5921644/htdocs/includes/app.php') in /mnt/web620/b0/44/5921644/htdocs/index.php (line 48)
  1.  * define() is used rather than "const" to not error for PHP 5.2 and lower
  2.  */
  3. define('_JEXEC'1);
  4. // Run the application - All executable code should be triggered through this file
  5. require_once dirname(__FILE__) . '/includes/app.php';

RuntimeException

Failed to start the session because headers have already been sent by "/mnt/web620/b0/44/5921644/htdocs/index.php" at line 17.

  1.         if ($this->isActive()) {
  2.             throw new \RuntimeException('Failed to start the session: already started by PHP.');
  3.         }
  4.         if (ini_get('session.use_cookies') && headers_sent($file$line)) {
  5.             throw new \RuntimeException(
  6.                 sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.'$file$line)
  7.             );
  8.         }
  9.         if (!session_start()) {
  1.                 $this->setId($session_clean);
  2.                 $cookie->set($session_name'', ['expires' => time() - 3600 ]);
  3.             }
  4.         }
  5.         parent::start();
  6.         // Try loading data from the session
  7.         if (!empty($_SESSION['joomla'])) {
  8.             $this->data unserialize(base64_decode($_SESSION['joomla']));
  9.         }
  1.     {
  2.         if ($this->isStarted()) {
  3.             return;
  4.         }
  5.         $this->store->start();
  6.         $this->setState(SessionState::ACTIVE);
  7.         // Initialise the session
  8.         $this->setCounter();
  1.      * @since   1.0
  2.      */
  3.     public function has($name)
  4.     {
  5.         if (!$this->isActive()) {
  6.             $this->start();
  7.         }
  8.         return $this->store->has($name);
  9.     }
  1.                 $name $args[2] . '.' $name;
  2.             }
  3.         }
  4.         if (parent::has($name)) {
  5.             // Parent is used because of b/c, can be changed in Joomla 6
  6.             return parent::get($name$default);
  7.         }
  8.         /*
  1.                 __CLASS__
  2.             ),
  3.             E_USER_DEPRECATED
  4.         );
  5.         $instance self::getApplication()->getSession()->get('user');
  6.         if (\is_null($id)) {
  7.             if (!($instance instanceof User)) {
  8.                 $instance User::getInstance();
  9.             }
  1.      *
  2.      * @since   3.2
  3.      */
  4.     protected function initialiseApp($options = [])
  5.     {
  6.         $user Factory::getUser();
  7.         // If the user is a guest we populate it with the guest user group.
  8.         if ($user->guest) {
  9.             $guestUsergroup ComponentHelper::getParams('com_users')->get('guest_usergroup'1);
  10.             $user->groups   = [$guestUsergroup];
  1.      * @since   3.2
  2.      */
  3.     protected function doExecute()
  4.     {
  5.         // Initialise the application
  6.         $this->initialiseApp();
  7.         // Mark afterInitialise in the profiler.
  8.         JDEBUG $this->profiler->mark('afterInitialise') : null;
  9.         // Route the application
  1.             $this->sanityCheckSystemVariables();
  2.             $this->setupLogging();
  3.             $this->createExtensionNamespaceMap();
  4.             // Perform application routines.
  5.             $this->doExecute();
  6.             // If we have an application document object, render it.
  7.             if ($this->document instanceof \Joomla\CMS\Document\Document) {
  8.                 // Render the application output.
  9.                 $this->render();
CMSApplication->execute() in /mnt/web620/b0/44/5921644/htdocs/includes/app.php (line 58)
  1. // Set the application as global app
  2. \Joomla\CMS\Factory::$application $app;
  3. // Execute the application.
  4. $app->execute();
require_once('/mnt/web620/b0/44/5921644/htdocs/includes/app.php') in /mnt/web620/b0/44/5921644/htdocs/index.php (line 48)
  1.  * define() is used rather than "const" to not error for PHP 5.2 and lower
  2.  */
  3. define('_JEXEC'1);
  4. // Run the application - All executable code should be triggered through this file
  5. require_once dirname(__FILE__) . '/includes/app.php';

Stack Traces 2

[2/2] RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/mnt/web620/b0/44/5921644/htdocs/index.php" at line 17.

  at /mnt/web620/b0/44/5921644/htdocs/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:454
  at Joomla\Session\Storage\NativeStorage->start()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Session/Storage/JoomlaStorage.php:313)
  at Joomla\CMS\Session\Storage\JoomlaStorage->start()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/vendor/joomla/session/src/Session.php:396)
  at Joomla\Session\Session->start()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/vendor/joomla/session/src/Session.php:327)
  at Joomla\Session\Session->has()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Session/Session.php:194)
  at Joomla\CMS\Session\Session->get()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/CMSApplication.php:611)
  at Joomla\CMS\Application\CMSApplication->getMessageQueue()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/CMSApplication.php:253)
  at Joomla\CMS\Application\CMSApplication->enqueueMessage()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/SiteApplication.php:526)
  at Joomla\CMS\Application\SiteApplication->getTemplate()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Error/Renderer/HtmlRenderer.php:50)
  at Joomla\CMS\Error\Renderer\HtmlRenderer->render()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Exception/ExceptionHandler.php:139)
  at Joomla\CMS\Exception\ExceptionHandler::render()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Exception/ExceptionHandler.php:73)
  at Joomla\CMS\Exception\ExceptionHandler::handleException()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/CMSApplication.php:334)
  at Joomla\CMS\Application\CMSApplication->execute()
     (/mnt/web620/b0/44/5921644/htdocs/includes/app.php:58)
  at require_once('/mnt/web620/b0/44/5921644/htdocs/includes/app.php')
     (/mnt/web620/b0/44/5921644/htdocs/index.php:48)                
[1/2] RuntimeException
RuntimeException:
Failed to start the session because headers have already been sent by "/mnt/web620/b0/44/5921644/htdocs/index.php" at line 17.

  at /mnt/web620/b0/44/5921644/htdocs/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:454
  at Joomla\Session\Storage\NativeStorage->start()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Session/Storage/JoomlaStorage.php:313)
  at Joomla\CMS\Session\Storage\JoomlaStorage->start()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/vendor/joomla/session/src/Session.php:396)
  at Joomla\Session\Session->start()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/vendor/joomla/session/src/Session.php:327)
  at Joomla\Session\Session->has()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Session/Session.php:194)
  at Joomla\CMS\Session\Session->get()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Factory.php:372)
  at Joomla\CMS\Factory::getUser()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/SiteApplication.php:565)
  at Joomla\CMS\Application\SiteApplication->initialiseApp()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/SiteApplication.php:237)
  at Joomla\CMS\Application\SiteApplication->doExecute()
     (/mnt/web620/b0/44/5921644/htdocs/libraries/src/Application/CMSApplication.php:304)
  at Joomla\CMS\Application\CMSApplication->execute()
     (/mnt/web620/b0/44/5921644/htdocs/includes/app.php:58)
  at require_once('/mnt/web620/b0/44/5921644/htdocs/includes/app.php')
     (/mnt/web620/b0/44/5921644/htdocs/index.php:48)