Error
Class "Twig\Environment" not found Error thrown with message "Class "Twig\Environment" not found" Stacktrace: #6 Error in /home/umyyw7f8bzt4/public_html/wp-content/plugins/gantry5/src/classes/Gantry/Component/Theme/AbstractTheme.php:135 #5 Gantry\Component\Theme\AbstractTheme:renderer in /home/umyyw7f8bzt4/public_html/wp-content/plugins/gantry5/src/classes/Gantry/Framework/Theme.php:128 #4 Gantry\Framework\Theme:renderer in /home/umyyw7f8bzt4/public_html/wp-content/plugins/gantry5/src/classes/Gantry/Framework/Theme.php:158 #3 Gantry\Framework\Theme:render in /home/umyyw7f8bzt4/public_html/wp-content/themes/g5_helium/page.php:41 #2 include in /home/umyyw7f8bzt4/public_html/wp-includes/template-loader.php:132 #1 require_once in /home/umyyw7f8bzt4/public_html/wp-blog-header.php:19 #0 require in /home/umyyw7f8bzt4/public_html/index.php:17
Stack frames (7)
6
Error
…/src/classes/Gantry/Component/Theme/AbstractTheme.php135
5
Gantry\Component\Theme\AbstractTheme renderer
…/src/classes/Gantry/Framework/Theme.php128
4
Gantry\Framework\Theme renderer
…/src/classes/Gantry/Framework/Theme.php158
3
Gantry\Framework\Theme render
/home/umyyw7f8bzt4/public_html/wp-content/themes/g5_helium/page.php41
2
include
/home/umyyw7f8bzt4/public_html/wp-includes/template-loader.php132
1
require_once
/home/umyyw7f8bzt4/public_html/wp-blog-header.php19
0
require
/home/umyyw7f8bzt4/public_html/index.php17
        return $twig;
    }
 
    /**
     * Return renderer.
     *
     * @return Environment
     */
    public function renderer()
    {
        if (!$this->renderer) {
            $gantry = static::gantry();
 
            /** @var Config $global */
            $global = $gantry['global'];
 
            $cachePath = $global->get('compile_twig', 1) ? $this->getCachePath('twig') : null;
            if ($cachePath) {
                /** @phpstan-ignore-next-line */
                if (Environment::VERSION_ID > 3) {
                    // Twig 3 support.
                    $cache = new FilesystemCache($cachePath, FilesystemCache::FORCE_BYTECODE_INVALIDATION);
                /** @phpstan-ignore-next-line */
                } else {
                    $cache = new TwigCacheFilesystem($cachePath, FilesystemCache::FORCE_BYTECODE_INVALIDATION);
                }
            } else {
                $cache = false;
            }
            $debug = $gantry->debug();
            $production = (bool) $global->get('production', 1);
            $loader = new FilesystemLoader();
            $params = [
                'cache' => $cache,
                'debug' => $debug,
                'auto_reload' => !$production,
                'autoescape' => 'html'
            ];
 
            $twig = new Environment($loader, $params);
     * Convert all stream uris into proper links.
     */
    public function postProcessOutput($html)
    {
        $gantry = Gantry::instance();
 
        /** @var Document $document */
        $document = $gantry['document'];
 
        // Only filter our streams. If there's an error (bad UTF8), fallback with original output.
        return $document::urlFilter($html, false, 0, true) ?: $html;
    }
 
    /**
     * @see AbstractTheme::renderer()
     */
    public function renderer()
    {
        if (!$this->renderer) {
            $twig = parent::renderer();
            $twig = \apply_filters('twig_apply_filters', $twig);
            $twig = \apply_filters('timber/twig/filters', $twig);
            $twig = \apply_filters('timber/twig/functions', $twig);
            $twig = \apply_filters('timber/twig/escapers', $twig);
            $twig = \apply_filters('timber/loader/twig', $twig);
            $this->renderer = $twig;
        }
 
        return $this->renderer;
    }
 
    /**
     * @see AbstractTheme::render()
     *
     * @param string $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
 
    /**
     * @see AbstractTheme::render()
     *
     * @param string $file
     * @param array $context
     * @return string
     */
    public function render($file, array $context = [])
    {
        static $timberContext;
 
        if (!isset($timberContext)) {
            $timberContext = Timber::get_context();
        }
 
        // Include Gantry specific things to the context.
        $context = array_replace($timberContext, $context);
 
        return $this->renderer()->render($file, $context);
    }
 
    public function set_template_layout()
    {
        $assignments = new Assignments();
        $selected = $assignments->select();
 
        if (\GANTRY_DEBUGGER) {
            Debugger::addMessage('Selecting outline (rules, matches, scores):', 'debug');
            Debugger::addMessage($assignments->getPage(), 'debug');
            Debugger::addMessage($assignments->matches(), 'debug');
            Debugger::addMessage($assignments->scores(), 'debug');
        }
 
        $this->setLayout($selected);
    }
 
    public function widgets_init()
    {
        $gantry = Gantry::instance();
 * Please note that this is the WordPress construct of pages
 * and that other 'pages' on your WordPress site will use a
 * different template.
 *
 * To generate specific templates for your pages you can use:
 * /mytheme/views/page-mypage.html.twig
 * (which will still route through this PHP file)
 * OR
 * /mytheme/page-mypage.php
 * (in which case you'll want to duplicate this file and save to the above path)
 */
 
$gantry = Gantry::instance();
 
/** @var Theme $theme */
$theme  = $gantry['theme'];
 
// We need to render contents of <head> before plugin content gets added.
$context              = Timber::get_context();
$context['page_head'] = $theme->render('partials/page_head.html.twig', $context);
 
$post            = Timber::query_post();
$context['post'] = $post;
 
Timber::render(['page-' . $post->post_name . '.html.twig', 'page.html.twig'], $context);
 
     */
    $template   = apply_filters( 'template_include', $template );
    $is_stringy = is_string( $template ) || ( is_object( $template ) && method_exists( $template, '__toString' ) );
    $template   = $is_stringy ? realpath( (string) $template ) : null;
    if (
        is_string( $template ) &&
        ( str_ends_with( $template, '.php' ) || str_ends_with( $template, '.html' ) ) &&
        is_file( $template ) &&
        is_readable( $template )
    ) {
        /**
         * Fires immediately before including the template.
         *
         * @since 6.9.0
         *
         * @param string $template The path of the template about to be included.
         */
        do_action( 'wp_before_include_template', $template );
 
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
<?php
/**
 * Loads the WordPress environment and template.
 *
 * @package WordPress
 */
 
if ( ! isset( $wp_did_header ) ) {
 
    $wp_did_header = true;
 
    // Load the WordPress library.
    require_once __DIR__ . '/wp-load.php';
 
    // Set up the WordPress query.
    wp();
 
    // Load the theme template.
    require_once ABSPATH . WPINC . '/template-loader.php';
 
}
 
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */
 
/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define( 'WP_USE_THEMES', true );
 
/** Loads the WordPress Environment and Template */
require __DIR__ . '/wp-blog-header.php';
 

Environment & details:

Key Value
r 33869231162
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE Apache
REQUEST_URI /?r=33869231162
LSPHP_ENABLE_USER_INI on
HTTP_HOST techerabusinesssolutions.com
DOCUMENT_ROOT /home/umyyw7f8bzt4/public_html
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_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_X_HTTPS 1
UNIQUE_ID asToGgjSVt5fVKMp-6wXmAAAoQI
SCRIPT_URL /
SCRIPT_URI https://techerabusinesssolutions.com/
USER_ID 11039558
HTTPS on
SSL_TLS_SNI techerabusinesssolutions.com
HTTP2 on
H2PUSH off
H2_PUSH off
H2_PUSHED
H2_PUSHED_ON
H2_STREAM_ID 23
H2_STREAM_TAG 2385174-3769-23
SERVER_SIGNATURE
SERVER_NAME techerabusinesssolutions.com
SERVER_ADDR 118.139.181.56
SERVER_PORT 443
REMOTE_ADDR 216.73.217.92
REQUEST_SCHEME https
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /home/umyyw7f8bzt4/public_html
SERVER_ADMIN webmaster@techerabusinesssolutions.com
SCRIPT_FILENAME /home/umyyw7f8bzt4/public_html/index.php
REMOTE_PORT 44896
SERVER_PROTOCOL HTTP/2.0
REQUEST_METHOD GET
QUERY_STRING r=33869231162
SCRIPT_NAME /index.php
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1791289371.0014
REQUEST_TIME 1791289371
empty
0. Whoops\Handler\PrettyPageHandler