if ($this->isActive()) { 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, '', ['expires' => time() - 3600 ]); } } parent::start(); // Try loading data from the session if (!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(); * @since 1.0 */ 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 6 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', []); } { // Initialise variables. $lists = []; // Get the message queue $messages = Factory::getApplication()->getMessageQueue(); // Build the sorted message list if (\is_array($messages) && !empty($messages)) { foreach ($messages as $msg) { if (isset($msg['type'], $msg['message'])) { * * @since 3.5 */ public function render($name, $params = [], $content = null) { $msgList = $this->getData(); $displayData = [ 'msgList' => $msgList, 'name' => $name, 'params' => $params, 'content' => $content, $cbuffer[$hash] = $tmpdata; $cache->store($cbuffer, 'cbuffer_' . $type); } else { $this->setBuffer($renderer->render($name, $attribs, null), $type, $name, $title); } return parent::$_buffer[$type][$name][$title]; } $replace = []; $with = []; foreach ($this->_template_tags as $jdoc => $args) { $replace[] = $jdoc; $with[] = $this->getBuffer($args['type'], $args['name'], $args['attribs']); } return str_replace($replace, $with, $this->_template); }} if (\array_key_exists('csp_nonce', $params) && $params['csp_nonce'] !== null) { $this->cspNonce = $params['csp_nonce']; } $data = $this->_renderTemplate(); parent::render($caching, $params); return $data; } $this->debug = $params['debug'] ?? false; $this->error = $this->_error; $params['file'] = 'error.php'; return parent::render($cache, $params); } /** * Render the backtrace * ob_end_clean(); } $this->getDocument()->setTitle(Text::_('Error') . ': ' . $error->getCode()); return $this->getDocument()->render( false, [ 'template' => $template->template, 'directory' => JPATH_THEMES, 'debug' => JDEBUG, 'subject' => $app, 'document' => $renderer->getDocument(), ]) ); $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->dispatchEvent('onError', $event); ExceptionHandler::handleException($event->getError()); } // Trigger the onBeforeRespond event. $this->dispatchEvent( 'onBeforeRespond',// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); // ... die die();}// Run the application - All executable code should be triggered through this filerequire_once __DIR__ . '/includes/app.php'; sprintf('Failed to start the session because headers have already been sent by "%s" at line %d.', $file, $line) ); } if (!session_start()) { throw new \RuntimeException('Failed to start the session'); } $this->isActive(); $this->started = true; } $this->setId($session_clean); $cookie->set($session_name, '', ['expires' => time() - 3600 ]); } } parent::start(); // Try loading data from the session if (!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(); * @since 1.0 */ 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 6 return parent::get($name, $default); } /* __CLASS__ ), E_USER_DEPRECATED ); $instance = self::getApplication()->getSession()->get('user'); if (\is_null($id)) { if (!($instance instanceof User)) { $instance = User::getInstance(); } { if (static::$plugins !== null) { return static::$plugins; } $levels = Factory::getUser()->getAuthorisedViewLevels(); /** @var \Joomla\CMS\Cache\Controller\CallbackController $cache */ $cache = Factory::getCache('com_plugins', 'callback'); $loader = function () use ($levels) { if (!$defaults || !isset($loaded[$dispatcherHash][$type])) { $results = null; // Load the plugins from the database. $plugins = static::load(); // Get the specified plugin(s). foreach ($plugins as $value) { if ($value->type === $type && ($plugin === null || $value->name === $plugin)) { static::import($value, $autocreate, $dispatcher); $this->sanityCheckSystemVariables(); $this->setupLogging(); $this->createExtensionNamespaceMap(); // Load the behaviour plugins PluginHelper::importPlugin('behaviour', null, true, $this->getDispatcher()); // Load the system plugins PluginHelper::importPlugin('system', null, true, $this->getDispatcher()); // Trigger the onBeforeExecute event// Set the application as global app\Joomla\CMS\Factory::$application = $app;// Execute the application.$app->execute(); // ... die die();}// Run the application - All executable code should be triggered through this filerequire_once __DIR__ . '/includes/app.php';|
[2/2]
RuntimeException
|
|---|
RuntimeException:
Failed to start the session because headers have already been sent by "/home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Storage/NativeStorage.php" at line 452.
at /home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:447
at Joomla\Session\Storage\NativeStorage->start()
(/home/mbafwbhd/public_html/libraries/src/Session/Storage/JoomlaStorage.php:313)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Session.php:396)
at Joomla\Session\Session->start()
(/home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Session.php:327)
at Joomla\Session\Session->has()
(/home/mbafwbhd/public_html/libraries/src/Session/Session.php:194)
at Joomla\CMS\Session\Session->get()
(/home/mbafwbhd/public_html/libraries/src/Application/CMSApplication.php:627)
at Joomla\CMS\Application\CMSApplication->getMessageQueue()
(/home/mbafwbhd/public_html/libraries/src/Document/Renderer/Html/MessageRenderer.php:80)
at Joomla\CMS\Document\Renderer\Html\MessageRenderer->getData()
(/home/mbafwbhd/public_html/libraries/src/Document/Renderer/Html/MessageRenderer.php:40)
at Joomla\CMS\Document\Renderer\Html\MessageRenderer->render()
(/home/mbafwbhd/public_html/libraries/src/Document/HtmlDocument.php:578)
at Joomla\CMS\Document\HtmlDocument->getBuffer()
(/home/mbafwbhd/public_html/libraries/src/Document/HtmlDocument.php:900)
at Joomla\CMS\Document\HtmlDocument->_renderTemplate()
(/home/mbafwbhd/public_html/libraries/src/Document/HtmlDocument.php:650)
at Joomla\CMS\Document\HtmlDocument->render()
(/home/mbafwbhd/public_html/libraries/src/Document/ErrorDocument.php:139)
at Joomla\CMS\Document\ErrorDocument->render()
(/home/mbafwbhd/public_html/libraries/src/Error/Renderer/HtmlRenderer.php:70)
at Joomla\CMS\Error\Renderer\HtmlRenderer->render()
(/home/mbafwbhd/public_html/libraries/src/Exception/ExceptionHandler.php:142)
at Joomla\CMS\Exception\ExceptionHandler::render()
(/home/mbafwbhd/public_html/libraries/src/Exception/ExceptionHandler.php:76)
at Joomla\CMS\Exception\ExceptionHandler::handleException()
(/home/mbafwbhd/public_html/libraries/src/Application/CMSApplication.php:350)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/mbafwbhd/public_html/includes/app.php:58)
at require_once('/home/mbafwbhd/public_html/includes/app.php')
(/home/mbafwbhd/public_html/index.php:51)
|
|
[1/2]
RuntimeException
|
|---|
RuntimeException:
Failed to start the session
at /home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Storage/NativeStorage.php:453
at Joomla\Session\Storage\NativeStorage->start()
(/home/mbafwbhd/public_html/libraries/src/Session/Storage/JoomlaStorage.php:313)
at Joomla\CMS\Session\Storage\JoomlaStorage->start()
(/home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Session.php:396)
at Joomla\Session\Session->start()
(/home/mbafwbhd/public_html/libraries/vendor/joomla/session/src/Session.php:327)
at Joomla\Session\Session->has()
(/home/mbafwbhd/public_html/libraries/src/Session/Session.php:194)
at Joomla\CMS\Session\Session->get()
(/home/mbafwbhd/public_html/libraries/src/Factory.php:372)
at Joomla\CMS\Factory::getUser()
(/home/mbafwbhd/public_html/libraries/src/Plugin/PluginHelper.php:270)
at Joomla\CMS\Plugin\PluginHelper::load()
(/home/mbafwbhd/public_html/libraries/src/Plugin/PluginHelper.php:188)
at Joomla\CMS\Plugin\PluginHelper::importPlugin()
(/home/mbafwbhd/public_html/libraries/src/Application/CMSApplication.php:305)
at Joomla\CMS\Application\CMSApplication->execute()
(/home/mbafwbhd/public_html/includes/app.php:58)
at require_once('/home/mbafwbhd/public_html/includes/app.php')
(/home/mbafwbhd/public_html/index.php:51)
|