throw new \RuntimeException('Failed to start the session: already started by PHP.'); } if (ini_get('session.use_cookies') && 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) ); } if (!session_start()) $this->setId($session_clean); $cookie->set($session_name, '', time() - 3600); } } parent::start(); // Try loading data from the session if (isset($_SESSION['joomla']) && !empty($_SESSION['joomla'])) { $this->data = unserialize(base64_decode($_SESSION['joomla'])); if ($this->isStarted()) { return; } $this->store->start(); $this->setState(SessionState::ACTIVE); // Initialise the session $this->setCounter(); */ public function has($name) { if (!$this->isActive()) { $this->start(); } return $this->store->has($name); } $name = $args[2] . '.' . $name; } } if (parent::has($name)) { // Parent is used because of b/c, can be changed in Joomla 5 return parent::get($name, $default); } public function getMessageQueue($clear = false) { // For empty queue, if messages exists in the session, enqueue them. if (!\count($this->messageQueue)) { $sessionQueue = $this->getSession()->get('application.queue', []); if ($sessionQueue) { $this->messageQueue = $sessionQueue; $this->getSession()->set('application.queue', []); 'message' => $inputFilter->clean($msg, 'html'), 'type' => $inputFilter->clean(strtolower($type), 'cmd'), ); // For empty queue, if messages exists in the session, enqueue them first. $messages = $this->getMessageQueue(); if (!\in_array($message, $this->messageQueue)) { // Enqueue the message. $this->messageQueue[] = $message; } } } elseif (!is_file(JPATH_THEMES . '/' . $template->template . '/index.php')) { $this->enqueueMessage(Text::_('JERROR_ALERTNOTEMPLATE'), 'error'); // Try to find data for 'cassiopeia' template $original_tmpl = $template->template; foreach ($templates as $tmpl) public function render(\Throwable $error): string { $app = Factory::getApplication(); // Get the current template from the application $template = $app->getTemplate(true); // Push the error object into the document $this->getDocument()->setError($error); // Add registry file for the template asset // Reset the document object in the factory, this gives us a clean slate and lets everything render properly Factory::$document = $renderer->getDocument(); Factory::getApplication()->loadDocument(Factory::$document); $data = $renderer->render($error); // If nothing was rendered, just use the message from the Exception if (empty($data)) { $data = $error->getMessage(); * @since 3.10.0 */ public static function handleException(\Throwable $error) { static::logException($error); static::render($error); } /** * Render the error page based on an exception. * ); // Trigger the onError event. $this->triggerEvent('onError', $event); ExceptionHandler::handleException($event->getError()); } // Trigger the onBeforeRespond event. $this->getDispatcher()->dispatch('onBeforeRespond');// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php'; throw new \RuntimeException('Failed to start the session: already started by PHP.'); } if (ini_get('session.use_cookies') && 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) ); } if (!session_start()) $this->setId($session_clean); $cookie->set($session_name, '', time() - 3600); } } parent::start(); // Try loading data from the session if (isset($_SESSION['joomla']) && !empty($_SESSION['joomla'])) { $this->data = unserialize(base64_decode($_SESSION['joomla'])); if ($this->isStarted()) { return; } $this->store->start(); $this->setState(SessionState::ACTIVE); // Initialise the session $this->setCounter(); */ public function has($name) { if (!$this->isActive()) { $this->start(); } return $this->store->has($name); } $name = $args[2] . '.' . $name; } } if (parent::has($name)) { // Parent is used because of b/c, can be changed in Joomla 5 return parent::get($name, $default); } __CLASS__ ), E_USER_DEPRECATED ); $instance = self::getApplication()->getSession()->get('user'); if (\is_null($id)) { if (!($instance instanceof User)) { * * @since 3.2 */ protected function initialiseApp($options = array()) { $user = Factory::getUser(); // If the user is a guest we populate it with the guest user group. if ($user->guest) { $guestUsergroup = ComponentHelper::getParams('com_users')->get('guest_usergroup', 1); * @since 3.2 */ protected function doExecute() { // Initialise the application $this->initialiseApp(); // Mark afterInitialise in the profiler. JDEBUG ? $this->profiler->mark('afterInitialise') : null; // Route the application $this->sanityCheckSystemVariables(); $this->setupLogging(); $this->createExtensionNamespaceMap(); // Perform application routines. $this->doExecute(); // If we have an application document object, render it. if ($this->document instanceof \Joomla\CMS\Document\Document) { // Render the application output.// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); * define() is used rather than "const" to not error for PHP 5.2 and lower */define('_JEXEC', 1);// Run the application - All executable code should be triggered through this filerequire_once dirname(__FILE__) . '/includes/app.php';|
[2/2]
RuntimeException
|
|---|
RuntimeException:
Failed to start the session because headers have already been sent by "/homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/uri/src/UriHelper.php" at line 34.
at /homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:473
at Joomla\Session\Storage\NativeStorage->start()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Session/Storage/JoomlaStorage.php:305)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/session/src/Session.php:406)
at Joomla\Session\Session->start()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/session/src/Session.php:333)
at Joomla\Session\Session->has()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Session/Session.php:198)
at Joomla\CMS\Session\Session->get()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/CMSApplication.php:535)
at Joomla\CMS\Application\CMSApplication->getMessageQueue()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/CMSApplication.php:221)
at Joomla\CMS\Application\CMSApplication->enqueueMessage()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/SiteApplication.php:576)
at Joomla\CMS\Application\SiteApplication->getTemplate()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Error/Renderer/HtmlRenderer.php:47)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Exception/ExceptionHandler.php:131)
at Joomla\CMS\Exception\ExceptionHandler::render()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Exception/ExceptionHandler.php:74)
at Joomla\CMS\Exception\ExceptionHandler::handleException()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/CMSApplication.php:311)
at Joomla\CMS\Application\CMSApplication->execute()
(/homepages/42/d445599099/htdocs/cmswbf22/includes/app.php:63)
at require_once('/homepages/42/d445599099/htdocs/cmswbf22/includes/app.php')
(/homepages/42/d445599099/htdocs/cmswbf22/index.php:32)
|
|
[1/2]
RuntimeException
|
|---|
RuntimeException:
Failed to start the session because headers have already been sent by "/homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/uri/src/UriHelper.php" at line 34.
at /homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:473
at Joomla\Session\Storage\NativeStorage->start()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Session/Storage/JoomlaStorage.php:305)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/session/src/Session.php:406)
at Joomla\Session\Session->start()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/vendor/joomla/session/src/Session.php:333)
at Joomla\Session\Session->has()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Session/Session.php:198)
at Joomla\CMS\Session\Session->get()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Factory.php:338)
at Joomla\CMS\Factory::getUser()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/SiteApplication.php:619)
at Joomla\CMS\Application\SiteApplication->initialiseApp()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/SiteApplication.php:222)
at Joomla\CMS\Application\SiteApplication->doExecute()
(/homepages/42/d445599099/htdocs/cmswbf22/libraries/src/Application/CMSApplication.php:278)
at Joomla\CMS\Application\CMSApplication->execute()
(/homepages/42/d445599099/htdocs/cmswbf22/includes/app.php:63)
at require_once('/homepages/42/d445599099/htdocs/cmswbf22/includes/app.php')
(/homepages/42/d445599099/htdocs/cmswbf22/index.php:32)
|