RuntimeException (500)
Failed to read theme.yaml: Creating directory failed for /home/r40i1v2umdct/stormystuff.com/cache/gantry5/amss/compiled/yaml/5cd5f72956acb542f0d93d813802631c.yaml.php
Previous exceptions
  • Creating directory failed for /home/r40i1v2umdct/stormystuff.com/cache/gantry5/amss/compiled/yaml/5cd5f72956acb542f0d93d813802631c.yaml.php (0)
RuntimeException thrown with message "Failed to read theme.yaml: Creating directory failed for /home/r40i1v2umdct/stormystuff.com/cache/gantry5/amss/compiled/yaml/5cd5f72956acb542f0d93d813802631c.yaml.php" Stacktrace: #18 RuntimeException in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Component/File/CompiledFile.php:127 #17 RuntimeException in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/vendor/rockettheme/toolbox/File/src/AbstractFile.php:348 #16 RocketTheme\Toolbox\File\AbstractFile:save in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/vendor/rockettheme/toolbox/File/src/PhpFile.php:46 #15 RocketTheme\Toolbox\File\PhpFile:save in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Component/File/CompiledFile.php:111 #14 Gantry\Component\File\CompiledYamlFile:content in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Component/Theme/ThemeDetails.php:58 #13 Gantry\Component\Theme\ThemeDetails:__construct in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Admin/ThemeList.php:109 #12 Gantry\Admin\ThemeList:loadThemes in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Admin/ThemeList.php:159 #11 Gantry\Admin\ThemeList:loadStyles in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Admin/ThemeList.php:71 #10 Gantry\Admin\ThemeList:getStyles in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Framework/Outlines.php:96 #9 Gantry\Framework\Outlines:load in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/src/classes/Gantry/Framework/Base/Gantry.php:306 #8 Gantry\Framework\Base\Gantry:Gantry\Framework\Base\{closure} in /home/r40i1v2umdct/stormystuff.com/libraries/gantry5/compat/vendor/pimple/pimple/src/Pimple/Container.php:118 #7 Pimple\Container:offsetGet in /home/r40i1v2umdct/stormystuff.com/templates/amss/index.php:20 #6 require in /home/r40i1v2umdct/stormystuff.com/libraries/src/Document/HtmlDocument.php:668 #5 Joomla\CMS\Document\HtmlDocument:_loadTemplate in /home/r40i1v2umdct/stormystuff.com/libraries/src/Document/HtmlDocument.php:730 #4 Joomla\CMS\Document\HtmlDocument:_fetchTemplate in /home/r40i1v2umdct/stormystuff.com/libraries/src/Document/HtmlDocument.php:545 #3 Joomla\CMS\Document\HtmlDocument:parse in /home/r40i1v2umdct/stormystuff.com/libraries/src/Application/CMSApplication.php:1126 #2 Joomla\CMS\Application\CMSApplication:render in /home/r40i1v2umdct/stormystuff.com/libraries/src/Application/SiteApplication.php:778 #1 Joomla\CMS\Application\SiteApplication:render in /home/r40i1v2umdct/stormystuff.com/libraries/src/Application/CMSApplication.php:231 #0 Joomla\CMS\Application\CMSApplication:execute in /home/r40i1v2umdct/stormystuff.com/index.php:49
Stack frames (19)
18
RuntimeException
/src/classes/Gantry/Component/File/CompiledFile.php127
17
RuntimeException
/vendor/rockettheme/toolbox/File/src/AbstractFile.php348
16
RocketTheme\Toolbox\File\AbstractFile save
/vendor/rockettheme/toolbox/File/src/PhpFile.php46
15
RocketTheme\Toolbox\File\PhpFile save
/src/classes/Gantry/Component/File/CompiledFile.php111
14
Gantry\Component\File\CompiledYamlFile content
/src/classes/Gantry/Component/Theme/ThemeDetails.php58
13
Gantry\Component\Theme\ThemeDetails __construct
/src/classes/Gantry/Admin/ThemeList.php109
12
Gantry\Admin\ThemeList loadThemes
/src/classes/Gantry/Admin/ThemeList.php159
11
Gantry\Admin\ThemeList loadStyles
/src/classes/Gantry/Admin/ThemeList.php71
10
Gantry\Admin\ThemeList getStyles
/src/classes/Gantry/Framework/Outlines.php96
9
Gantry\Framework\Outlines load
/src/classes/Gantry/Framework/Base/Gantry.php306
8
Gantry\Framework\Base\Gantry Gantry\Framework\Base\{closure}
/compat/vendor/pimple/pimple/src/Pimple/Container.php118
7
Pimple\Container offsetGet
/home/r40i1v2umdct/stormystuff.com/templates/amss/index.php20
6
require
/home/r40i1v2umdct/stormystuff.com/libraries/src/Document/HtmlDocument.php668
5
Joomla\CMS\Document\HtmlDocument _loadTemplate
/home/r40i1v2umdct/stormystuff.com/libraries/src/Document/HtmlDocument.php730
4
Joomla\CMS\Document\HtmlDocument _fetchTemplate
/home/r40i1v2umdct/stormystuff.com/libraries/src/Document/HtmlDocument.php545
3
Joomla\CMS\Document\HtmlDocument parse
/home/r40i1v2umdct/stormystuff.com/libraries/src/Application/CMSApplication.php1126
2
Joomla\CMS\Application\CMSApplication render
/home/r40i1v2umdct/stormystuff.com/libraries/src/Application/SiteApplication.php778
1
Joomla\CMS\Application\SiteApplication render
/home/r40i1v2umdct/stormystuff.com/libraries/src/Application/CMSApplication.php231
0
Joomla\CMS\Application\CMSApplication execute
/home/r40i1v2umdct/stormystuff.com/index.php49
 
                    // If compiled file wasn't already locked by another process, save it.
                    if ($file->locked() !== false) {
                        $file->save($cache);
                        $file->unlock();
 
                        // Compile cached file into bytecode cache
                        if (function_exists('opcache_invalidate')) {
                            // Silence error in case if `opcache.restrict_api` directive is set.
                            @opcache_invalidate($file->filename(), true);
                        }
                    }
                }
                $file->free();
 
                $this->content = $cache['data'];
            }
 
        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('Failed to read %s: %s', Gantry::basename($this->filename), $e->getMessage()), 500, $e);
        }
 
        return parent::content($var);
    }
}
 
 
        if ($data !== null) {
            $this->content($data);
        }
 
        $filename = $this->filename;
 
        if (is_link($filename)) {
            $realname = realpath($filename);
            if ($realname === false) {
                throw new RuntimeException('Failed to save file ' . $filename);
            }
 
            $filename = $realname;
        }
 
        $dir = dirname($filename);
 
        if (!$dir || !$this->mkdir($dir)) {
            throw new RuntimeException('Creating directory failed for ' . $filename);
        }
 
        try {
            if ($this->handle) {
                $tmp = true;
                // As we are using non-truncating locking, make sure that the file is empty before writing.
                if (@ftruncate($this->handle, 0) === false || @fwrite($this->handle, $this->raw()) === false) {
                    // Writing file failed, throw an error.
                    $tmp = false;
                }
            } else {
                // Create file with a temporary name and rename it to make the save action atomic.
                $tmp = $this->tempname($filename);
                if (file_put_contents($tmp, $this->raw()) === false) {
                    $tmp = false;
                } elseif (@rename($tmp, $filename) === false) {
                    @unlink($tmp);
                    $tmp = false;
                }
            }
Exception message: Creating directory failed for /home/r40i1v2umdct/stormystuff.com/cache/gantry5/amss/compiled/yaml/5cd5f72956acb542f0d93d813802631c.yaml.php
     * @return array
     */
    public function content($var = null)
    {
        /** @var array $content */
        $content = parent::content($var);
 
        return $content;
    }
 
    /**
     * Saves PHP file and invalidates opcache.
     *
     * @param  mixed  $data  Optional data to be saved, usually array.
     * @return void
     * @throws RuntimeException
     */
    public function save($data = null)
    {
        parent::save($data);
 
        // Invalidate configuration file from the opcache.
        if (null !== $this->filename && function_exists('opcache_invalidate')) {
            @opcache_invalidate($this->filename, true);
        }
    }
 
    /**
     * Check contents and make sure it is in correct format.
     *
     * @param mixed $var
     * @return array
     * @throws RuntimeException
     */
    protected function check($var)
    {
        if (!(is_array($var) || is_object($var))) {
            throw new RuntimeException('Provided data is not an array');
        }
 
                ) {
                    // Attempt to lock the file for writing.
                    try {
                        $file->lock(false);
                    } catch (\Exception $e) {
                        // Another process has locked the file; we will check this in a bit.
                    }
 
                    // Decode RAW file into compiled array.
                    $data = $this->decode($this->raw());
                    $cache = [
                        '@class' => $class,
                        'filename' => $this->filename,
                        'modified' => $modified,
                        'data' => $data
                    ];
 
                    // If compiled file wasn't already locked by another process, save it.
                    if ($file->locked() !== false) {
                        $file->save($cache);
                        $file->unlock();
 
                        // Compile cached file into bytecode cache
                        if (function_exists('opcache_invalidate')) {
                            // Silence error in case if `opcache.restrict_api` directive is set.
                            @opcache_invalidate($file->filename(), true);
                        }
                    }
                }
                $file->free();
 
                $this->content = $cache['data'];
            }
 
        } catch (\Exception $e) {
            throw new \RuntimeException(sprintf('Failed to read %s: %s', Gantry::basename($this->filename), $e->getMessage()), 500, $e);
        }
 
        return parent::content($var);
    }
     *
     * @param string $theme
     */
    public function __construct($theme)
    {
        $gantry = Gantry::instance();
 
        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
 
        $filename = $locator->findResource("gantry-themes://{$theme}/custom/gantry/theme.yaml") ?: $locator->findResource("gantry-themes://{$theme}/gantry/theme.yaml");
        if (!$filename) {
            throw new \RuntimeException(sprintf('Theme %s not found', $theme), 404);
        }
 
        /** @var string $cache */
        $cache = $locator->findResource("gantry-cache://{$theme}/compiled/yaml", true, true);
 
        $file = CompiledYamlFile::instance($filename);
        $this->items = (array)$file->setCachePath($cache)->content();
        $file->free();
 
        $this->offsetSet('name', $theme);
 
        $parent = (string) $this->get('configuration.theme.parent', $theme);
        $parent = $parent !== $theme ? $parent : null;
 
        $this->offsetSet('parent', $parent);
    }
 
    /**
     * @return string
     */
    public function addStreams()
    {
        $gantry = Gantry::instance();
 
        // Initialize theme stream.
        $streamName = $this->addStream($this->offsetGet('name'), $this->getPaths());
 
     */
    protected static function loadThemes()
    {
        $gantry = Gantry::instance();
 
        /** @var Platform $platform */
        $platform = $gantry['platform'];
 
        /** @var UniformResourceLocator $locator */
        $locator = $gantry['locator'];
 
        /** @var ThemeDetails[] $list */
        $list = [];
 
        $files = Folder::all('gantry-themes://', ['recursive' => false, 'files' => false]);
        natsort($files);
 
        foreach ($files as $theme) {
            if ($locator('gantry-themes://' . $theme . '/gantry/theme.yaml')) {
                $details = new ThemeDetails($theme);
                $details->addStreams();
 
                $details['name'] = $theme;
                $details['title'] = $details['details.name'];
                $details['preview_url'] = null;
                $details['admin_url'] = $platform->getThemeAdminUrl($theme);
                $details['params'] = [];
 
                $list[$details->name] = $details;
 
            }
        }
 
        // Add Thumbnails links after adding all the paths to the locator.
        foreach ($list as $details) {
            $details['thumbnail'] = $details->getUrl('details.images.thumbnail');
        }
 
        static::$items = $list;
    }
 
        $db = Factory::getDbo();
 
        $query = $db
            ->getQuery(true)
            ->select('s.id, e.extension_id, s.template AS name, s.title, s.params')
            ->from('#__template_styles AS s')
            ->where('s.client_id = 0')
            ->where('e.enabled = 1')
            ->where('e.state = 0')
            ->leftJoin('#__extensions AS e ON e.element=s.template AND e.type='
                . $db->quote('template') . ' AND e.client_id=s.client_id')
            ->order('s.id');
 
        $db->setQuery($query);
 
        $styles = (array) $db->loadObjectList();
 
        if (!\is_array(static::$items)) {
            static::loadThemes();
        }
 
        /** @var ThemeDetails[] $list */
        $list = [];
 
        foreach ($styles as $style)
        {
            $details = isset(static::$items[$style->name]) ? static::$items[$style->name] : null;
            if (!$details) {
                continue;
            }
 
            $params = new Registry($style->params);
 
            $details = clone $details;
            $details['id'] = $style->id;
            $details['extension_id'] = $style->extension_id;
            $details['style'] = $style->title;
            $details['preview_url'] = $platform->getThemePreviewUrl($style->id);
            $details['params'] = $params->toArray();
 
    /**
     * @param string $name
     * @return mixed
     */
    public static function getTheme($name)
    {
        $styles = static::getStyles($name);
 
        return reset($styles);
    }
 
    /**
     * @param string $template
     * @return array
     */
    public static function getStyles($template = null, $force = false)
    {
        if ($force || !\is_array(static::$styles)) {
            static::loadStyles();
        }
 
        if ($template) {
            return isset(static::$styles[$template]) ? static::$styles[$template] : [];
        }
 
        $list = [];
        foreach (static::$styles as $styles) {
            $list += $styles;
        }
 
        ksort($list);
 
        return $list;
    }
 
    /**
     *
     */
    protected static function loadThemes()
 
        /** @var UniformResourceLocator $locator */
        $locator = $this->container['locator'];
 
        return ($outline && is_dir($locator("{$this->path}/{$outline}"))) ? $outline : $preset;
    }
 
    /**
     * @param string $path
     * @return $this
     */
    public function load($path = 'gantry-config://')
    {
        $this->path = $path;
 
        $gantry = $this->container;
 
        $theme = isset($gantry['theme.name']) ? $gantry['theme.name'] : null;
 
        $styles = ThemeList::getStyles($theme);
 
        $installer = new ThemeInstaller($this->container['theme.name']);
        $title = $installer->getStyleName('%s - ');
 
        $outlines = [];
        foreach ($styles as $style) {
            $preset = isset($style->params['preset']) ? $style->params['preset'] : null;
            $outline = isset($style->params['configuration']) ? $style->params['configuration'] : $preset;
 
            if ($outline && $outline != $style->id) {
                // New style generated by Joomla.
                StyleHelper::copy($style, $outline, $style->id);
            }
            $outlines[$style->id] = preg_replace('|^' . preg_quote($title, '|') . '|', '', $style->style);
        }
 
        asort($outlines);
 
        $this->items = $this->addDefaults($outlines);
 
 
        // Make sure that nobody modifies the original collection by making it a factory.
        $instance['outlines'] = $instance->factory(static function ($c) {
            static $collection;
            if (!$collection) {
                $collection = (new Outlines($c))->load();
            }
 
            return $collection->copy();
        });
 
        // @deprecated 5.3
        $instance['configurations'] = $instance->factory(static function ($c) {
            if (\GANTRY_DEBUGGER) {
                Debugger::addMessage('Depredated call: gantry.configurations');
            }
 
            static $collection;
            if (!$collection) {
                $collection = (new Outlines($c))->load();
            }
 
            return $collection->copy();
        });
 
        $instance['positions'] = $instance->factory(static function ($c) {
            static $collection;
            if (!$collection) {
                $collection = (new Positions($c))->load();
            }
 
            return $collection->copy();
        });
 
        $instance['global'] = static function (Gantry $c) {
            $data = $c->loadGlobal() + [
                    'debug' => false,
                    'production' => true,
                    'use_media_folder' => false,
                    'asset_timestamps' => true,
     * @throws UnknownIdentifierException If the identifier is not defined
     */
    #[\ReturnTypeWillChange]
    public function offsetGet($id)
    {
        if (!isset($this->keys[$id])) {
            throw new UnknownIdentifierException($id);
        }
 
        if (
            isset($this->raw[$id])
            || !\is_object($this->values[$id])
            || isset($this->protected[$this->values[$id]])
            || !\method_exists($this->values[$id], '__invoke')
        ) {
            return $this->values[$id];
        }
 
        if (isset($this->factories[$this->values[$id]])) {
            return $this->values[$id]($this);
        }
 
        $raw = $this->values[$id];
        $val = $this->values[$id] = $raw($this);
        $this->raw[$id] = $raw;
 
        $this->frozen[$id] = true;
 
        return $val;
    }
 
    /**
     * Checks if a parameter or an object is set.
     *
     * @param string $id The unique identifier for the parameter or object
     *
     * @return bool
     */
    #[\ReturnTypeWillChange]
    public function offsetExists($id)
<?php
/**
 * @package   Gantry 5 Theme
 * @author    RocketTheme http://www.rockettheme.com
 * @copyright Copyright (C) 2007 - 2016 RocketTheme, LLC
 * @license   GNU/GPLv2 and later
 *
 * http://www.gnu.org/licenses/gpl-2.0.html
 */
 
defined('_JEXEC') or die;
 
// Bootstrap Gantry framework or fail gracefully (inside included file).
$gantry = include __DIR__ . '/includes/gantry.php';
 
/** @var \Gantry\Framework\Theme $theme */
$theme = $gantry['theme'];
 
/** @var \Gantry\Framework\Outlines $configurations */
$configurations = $gantry['configurations'];
 
// All the custom twig variables can be defined in here:
$context = array();
 
// Render the page.
echo $theme->render('index.html.twig', $context);
 
     * @param   string  $directory  The name of the template
     * @param   string  $filename   The actual filename
     *
     * @return  string  The contents of the template
     *
     * @since   1.7.0
     */
    protected function _loadTemplate($directory, $filename)
    {
        $contents = '';
 
        // Check to see if we have a valid template file
        if (file_exists($directory . '/' . $filename))
        {
            // Store the file path
            $this->_file = $directory . '/' . $filename;
 
            // Get the file content
            ob_start();
            require $directory . '/' . $filename;
            $contents = ob_get_contents();
            ob_end_clean();
        }
 
        // Try to find a favicon by checking the template and root folder
        $icon = '/favicon.ico';
 
        foreach (array($directory, JPATH_BASE) as $dir)
        {
            if (file_exists($dir . $icon))
            {
                $path = str_replace(JPATH_BASE, '', $dir);
                $path = str_replace('\\', '/', $path);
                $this->addFavicon(Uri::base(true) . $path . $icon);
                break;
            }
        }
 
        return $contents;
    }
 
        if (!file_exists($directory . '/' . $template . '/' . $file))
        {
            $file = 'index.php';
        }
 
        // Load the language file for the template
        $lang = \JFactory::getLanguage();
 
        // 1.5 or core then 1.6
        $lang->load('tpl_' . $template, JPATH_BASE, null, false, true)
            || $lang->load('tpl_' . $template, $directory . '/' . $template, null, false, true);
 
        // Assign the variables
        $this->template = $template;
        $this->baseurl = Uri::base(true);
        $this->params = isset($params['params']) ? $params['params'] : new Registry;
 
        // Load
        $this->_template = $this->_loadTemplate($directory . '/' . $template, $file);
 
        return $this;
    }
 
    /**
     * Parse a document template
     *
     * @return  HtmlDocument  instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    protected function _parseTemplate()
    {
        $matches = array();
 
        if (preg_match_all('#<jdoc:include\ type="([^"]+)"(.*)\/>#iU', $this->_template, $matches))
        {
            $template_tags_first = array();
            $template_tags_last = array();
 
            $options['title'] = (isset($args[3])) ? $args[3] : null;
        }
 
        parent::$_buffer[$options['type']][$options['name']][$options['title']] = $content;
 
        return $this;
    }
 
    /**
     * Parses the template and populates the buffer
     *
     * @param   array  $params  Parameters for fetching the template
     *
     * @return  HtmlDocument instance of $this to allow chaining
     *
     * @since   1.7.0
     */
    public function parse($params = array())
    {
        return $this->_fetchTemplate($params)->_parseTemplate();
    }
 
    /**
     * Outputs the template to the browser.
     *
     * @param   boolean  $caching  If true, cache the output
     * @param   array    $params   Associative array of attributes
     *
     * @return  string The rendered data
     *
     * @since   1.7.0
     */
    public function render($caching = false, $params = array())
    {
        $this->_caching = $caching;
 
        if (empty($this->_template))
        {
            $this->parse($params);
        }
     */
    protected function render()
    {
        // Setup the document options.
        $this->docOptions['template'] = $this->get('theme');
        $this->docOptions['file']     = $this->get('themeFile', 'index.php');
        $this->docOptions['params']   = $this->get('themeParams');
 
        if ($this->get('themes.base'))
        {
            $this->docOptions['directory'] = $this->get('themes.base');
        }
        // Fall back to constants.
        else
        {
            $this->docOptions['directory'] = defined('JPATH_THEMES') ? JPATH_THEMES : (defined('JPATH_BASE') ? JPATH_BASE : __DIR__) . '/themes';
        }
 
        // Parse the document.
        $this->document->parse($this->docOptions);
 
        // Trigger the onBeforeRender event.
        \JPluginHelper::importPlugin('system');
        $this->triggerEvent('onBeforeRender');
 
        $caching = false;
 
        if ($this->isClient('site') && $this->get('caching') && $this->get('caching', 2) == 2 && !\JFactory::getUser()->get('id'))
        {
            $caching = true;
        }
 
        // Render the document.
        $data = $this->document->render($caching, $this->docOptions);
 
        // Set the application output data.
        $this->setBody($data);
 
        // Trigger the onAfterRender event.
        $this->triggerEvent('onAfterRender');
                    $this->setUserState('users.login.form.data', array('return' => \JUri::getInstance()->toString()));
                    $this->set('themeFile', 'offline.php');
                    $this->setHeader('Status', '503 Service Temporarily Unavailable', 'true');
                }
 
                if (!is_dir(JPATH_THEMES . '/' . $template->template) && !$this->get('offline'))
                {
                    $this->set('themeFile', 'component.php');
                }
 
                // Ensure themeFile is set by now
                if ($this->get('themeFile') == '')
                {
                    $this->set('themeFile', $file . '.php');
                }
 
                break;
        }
 
        parent::render();
    }
 
    /**
     * Route the application.
     *
     * Routing is the process of examining the request environment to determine which
     * component should receive the request. The component optional parameters
     * are then set in the request object to be processed when the application is being
     * dispatched.
     *
     * @return  void
     *
     * @since   3.2
     */
    protected function route()
    {
        // Execute the parent method
        parent::route();
 
        $Itemid = $this->input->getInt('Itemid', null);
        // Unset invalid system variables
        foreach ($invalidInputVariables as $systemVariable)
        {
            $input->set($systemVariable, null);
        }
 
        // Abort when there are invalid variables
        if ($invalidInputVariables)
        {
            throw new \RuntimeException('Invalid input, aborting application.');
        }
 
        // Perform application routines.
        $this->doExecute();
 
        // If we have an application document object, render it.
        if ($this->document instanceof \JDocument)
        {
            // Render the application output.
            $this->render();
        }
 
        if ($this->get('block_floc', 1))
        {
            $headers = $this->getHeaders();
 
            $notPresent = true;
 
            foreach ($headers as $header)
            {
                if (strtolower($header['name']) === 'permissions-policy')
                {
                    // Append interest-cohort if the Permissions-Policy is not set
                    if (strpos($header['value'], 'interest-cohort') === false)
                    {
                        $this->setHeader('Permissions-Policy', $header['value'] . ', interest-cohort=()', true);
                    }
 
                    $notPresent = false;
 
{
    include_once __DIR__ . '/defines.php';
}
 
if (!defined('_JDEFINES'))
{
    define('JPATH_BASE', __DIR__);
    require_once JPATH_BASE . '/includes/defines.php';
}
 
require_once JPATH_BASE . '/includes/framework.php';
 
// Set profiler start time and memory usage and mark afterLoad in the profiler.
JDEBUG ? JProfiler::getInstance('Application')->setStart($startTime, $startMem)->mark('afterLoad') : null;
 
// Instantiate the application.
$app = JFactory::getApplication('site');
 
// Execute the application.
$app->execute();
 

Environment & details:

Key Value
option com_k2
id 86
view item
Itemid 269
empty
empty
Key Value
758d35b880546542d697027a0b356f25 804072d69910fba1fac0df3d1057b433
Key Value
joomla TzoyNDoiSm9vbWxhXFJlZ2lzdHJ5XFJlZ2lzdHJ5IjozOntzOjc6IgAqAGRhdGEiO086ODoic3RkQ2xhc3MiOjE6e3M6OToiX19kZWZhdWx0IjtPOjg6InN0ZENsYXNzIjozOntzOjc6InNlc3Npb24iO086ODoic3RkQ2xhc3MiOjM6e3M6NzoiY291bnRlciI7aToxO3M6NToidGltZXIiO086ODoic3RkQ2xhc3MiOjM6e3M6NToic3RhcnQiO2k6MTc3NjM2NjkwNDtzOjQ6Imxhc3QiO2k6MTc3NjM2NjkwNDtzOjM6Im5vdyI7aToxNzc2MzY2OTA0O31zOjY6ImNsaWVudCI7Tzo4OiJzdGRDbGFzcyI6MTp7czo5OiJmb3J3YXJkZWQiO3M6MTI6IjEwLjEuMTM0LjIxMyI7fX1zOjg6InJlZ2lzdHJ5IjtPOjI0OiJKb29tbGFcUmVnaXN0cnlcUmVnaXN0cnkiOjM6e3M6NzoiACoAZGF0YSI7Tzo4OiJzdGRDbGFzcyI6MDp7fXM6MTQ6IgAqAGluaXRpYWxpemVkIjtiOjA7czo5OiJzZXBhcmF0b3IiO3M6MToiLiI7fXM6NDoidXNlciI7TzoyMDoiSm9vbWxhXENNU1xVc2VyXFVzZXIiOjE6e3M6MjoiaWQiO2k6MDt9fX1zOjE0OiIAKgBpbml0aWFsaXplZCI7YjowO3M6OToic2VwYXJhdG9yIjtzOjE6Ii4iO30=
Key Value
LSPHP_ENABLE_USER_INI on
HTTP_HOST www.stormystuff.com
DOCUMENT_ROOT /home/r40i1v2umdct/stormystuff.com
PATH /usr/local/bin:/usr/bin:/bin
TEMP /tmp
TMP /tmp
TMPDIR /tmp
PWD /
HTTP_ACCEPT */*
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
CONTENT_LENGTH 0
HTTP_COOKIE 758d35b880546542d697027a0b356f25=804072d69910fba1fac0df3d1057b433
HTTP_REFERER http://www.stormystuff.com/self-storage-news/self-storage-in-phoenix
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_X_HTTPS 1
REDIRECT_UNIQUE_ID aeE1Ob5zk9mkYIMPvdJ_BwABwAQ
REDIRECT_SCRIPT_URL /self-storage-news/self-storage-in-phoenix
REDIRECT_SCRIPT_URI https://www.stormystuff.com/self-storage-news/self-storage-in-phoenix
REDIRECT_USER_ID 8305496
REDIRECT_HTTP_AUTHORIZATION
REDIRECT_HTTPS on
REDIRECT_SSL_TLS_SNI www.stormystuff.com
REDIRECT_HTTP2 on
REDIRECT_H2PUSH off
REDIRECT_H2_PUSH off
REDIRECT_H2_PUSHED
REDIRECT_H2_PUSHED_ON
REDIRECT_H2_STREAM_ID 1
REDIRECT_H2_STREAM_TAG 1595545-515-1
REDIRECT_STATUS 200
UNIQUE_ID aeE1Ob5zk9mkYIMPvdJ_BwABwAQ
SCRIPT_URL /self-storage-news/self-storage-in-phoenix
SCRIPT_URI https://www.stormystuff.com/self-storage-news/self-storage-in-phoenix
USER_ID 8305496
HTTP_AUTHORIZATION
HTTPS on
SSL_TLS_SNI www.stormystuff.com
HTTP2 on
H2PUSH off
H2_PUSH off
H2_PUSHED
H2_PUSHED_ON
H2_STREAM_ID 1
H2_STREAM_TAG 1595545-515-1
SERVER_SIGNATURE
SERVER_SOFTWARE Apache
SERVER_NAME www.stormystuff.com
SERVER_ADDR 68.178.244.145
SERVER_PORT 443
REMOTE_ADDR 216.73.216.46
REQUEST_SCHEME https
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /home/r40i1v2umdct/stormystuff.com
SERVER_ADMIN webmaster@stormystuff.bristolsb.com
SCRIPT_FILENAME /home/r40i1v2umdct/stormystuff.com/index.php
REMOTE_PORT 9639
REDIRECT_URL /self-storage-news/self-storage-in-phoenix
SERVER_PROTOCOL HTTP/2.0
REQUEST_METHOD GET
QUERY_STRING option=com_k2&id=86&view=item&Itemid=269
REQUEST_URI /self-storage-news/self-storage-in-phoenix
SCRIPT_NAME /index.php
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1776366905.3145
REQUEST_TIME 1776366905
Key Value
LSPHP_ENABLE_USER_INI on
HTTP_HOST stormystuff.bristolsb.com
DOCUMENT_ROOT /home/r40i1v2umdct/stormystuff.com
PATH /usr/local/bin:/usr/bin:/bin
TEMP /tmp
TMP /tmp
TMPDIR /tmp
PWD /
0. Whoops\Handler\PrettyPageHandler