RuntimeException
Failed to write cache file "/nas/content/live/riverbendresid/wp-content/cache/gantry5/rbr/twig/ac/ac2c7ccfb9af912eb4bc28b6759012211620b184e77c2c2e8c3e970e59e78733.php". RuntimeException thrown with message "Failed to write cache file "/nas/content/live/riverbendresid/wp-content/cache/gantry5/rbr/twig/ac/ac2c7ccfb9af912eb4bc28b6759012211620b184e77c2c2e8c3e970e59e78733.php"." Stacktrace: #11 RuntimeException in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Cache/FilesystemCache.php:80 #10 Twig\Cache\FilesystemCache:write in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Environment.php:487 #9 Twig\Environment:loadClass in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Environment.php:445 #8 Twig\Environment:loadTemplate in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/twig/twig/src/Environment.php:423 #7 Twig\Environment:load in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Loader.php:78 #6 Timber\Loader:render in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:334 #5 Timber\Timber:compile in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:383 #4 Timber\Timber:fetch in /nas/content/live/riverbendresid/wp-content/plugins/gantry5/src/vendor/timber/timber/lib/Timber.php:410 #3 Timber\Timber:render in /nas/content/live/riverbendresid/wp-content/themes/uranium/single.php:31 #2 include in /nas/content/live/riverbendresid/wp-includes/template-loader.php:106 #1 require_once in /nas/content/live/riverbendresid/wp-blog-header.php:19 #0 require in /nas/content/live/riverbendresid/index.php:17
Stack frames (12)
11
RuntimeException
/vendor/twig/twig/src/Cache/FilesystemCache.php80
10
Twig\Cache\FilesystemCache write
/vendor/twig/twig/src/Environment.php487
9
Twig\Environment loadClass
/vendor/twig/twig/src/Environment.php445
8
Twig\Environment loadTemplate
/vendor/twig/twig/src/Environment.php423
7
Twig\Environment load
/vendor/timber/timber/lib/Loader.php78
6
Timber\Loader render
/vendor/timber/timber/lib/Timber.php334
5
Timber\Timber compile
/vendor/timber/timber/lib/Timber.php383
4
Timber\Timber fetch
/vendor/timber/timber/lib/Timber.php410
3
Timber\Timber render
/nas/content/live/riverbendresid/wp-content/themes/uranium/single.php31
2
include
/nas/content/live/riverbendresid/wp-includes/template-loader.php106
1
require_once
/nas/content/live/riverbendresid/wp-blog-header.php19
0
require
/nas/content/live/riverbendresid/index.php17
            throw new \RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
        }
 
        $tmpFile = tempnam($dir, basename($key));
        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
            @chmod($key, 0666 & ~umask());
 
            if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
                // Compile cached file into bytecode cache
                if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) {
                    @opcache_invalidate($key, true);
                } elseif (\function_exists('apc_compile_file')) {
                    apc_compile_file($key);
                }
            }
 
            return;
        }
 
        throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $key));
    }
 
    public function getTimestamp($key)
    {
        if (!file_exists($key)) {
            return 0;
        }
 
        return (int) @filemtime($key);
    }
}
 
class_alias('Twig\Cache\FilesystemCache', 'Twig_Cache_Filesystem');
 
 
            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
                $this->cache->load($key);
            }
 
            $source = null;
            if (!class_exists($cls, false)) {
                $loader = $this->getLoader();
                if (!$loader instanceof SourceContextLoaderInterface) {
                    $source = new Source($loader->getSource($name), $name);
                } else {
                    $source = $loader->getSourceContext($name);
                }
 
                $content = $this->compileSource($source);
 
                if ($this->bcWriteCacheFile) {
                    $this->writeCacheFile($key, $content);
                } else {
                    $this->cache->write($key, $content);
                    $this->cache->load($key);
                }
 
                if (!class_exists($mainCls, false)) {
                    /* Last line of defense if either $this->bcWriteCacheFile was used,
                     * $this->cache is implemented as a no-op or we have a race condition
                     * where the cache was cleared between the above calls to write to and load from
                     * the cache.
                     */
                    eval('?>'.$content);
                }
            }
 
            if (!class_exists($cls, false)) {
                throw new RuntimeError(sprintf('Failed to load Twig template "%s", index "%s": cache might be corrupted.', $name, $index), -1, $source);
            }
        }
 
        if (!$this->runtimeInitialized) {
            $this->initRuntime();
    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
    {
        return $this->loadClass($this->getTemplateClass($name), $name, $index);
    }
 
    /**
     * @internal
     */
    public function loadClass($cls, $name, $index = null)
    {
        $mainCls = $cls;
        if (null !== $index) {
            $cls .= '___'.$index;
        }
 
        if (isset($this->loadedTemplates[$cls])) {
            return $this->loadedTemplates[$cls];
        }
 
        if (!class_exists($cls, false)) {
            if ($this->bcGetCacheFilename) {
                $key = $this->getCacheFilename($name);
            } else {
     *
     * @param string|TemplateWrapper|\Twig\Template $name The template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @return TemplateWrapper
     */
    public function load($name)
    {
        if ($name instanceof TemplateWrapper) {
            return $name;
        }
 
        if ($name instanceof Template) {
            return new TemplateWrapper($this, $name);
        }
 
        return new TemplateWrapper($this, $this->loadTemplate($name));
    }
 
    /**
     * Loads a template internal representation.
     *
     * This method is for internal use only and should never be called
     * directly.
     *
     * @param string $name  The template name
     * @param int    $index The index if it is an embedded template
     *
     * @return \Twig_TemplateInterface A template instance representing the given template name
     *
     * @throws LoaderError  When the template cannot be found
     * @throws RuntimeError When a previously generated cache is corrupted
     * @throws SyntaxError  When an error occurred during compilation
     *
     * @internal
     */
    public function loadTemplate($name, $index = null)
        }
 
        $key = null;
        $output = false;
        if ( false !== $expires ) {
            ksort($data);
            $key = md5($file.json_encode($data));
            $output = $this->get_cache($key, self::CACHEGROUP, $cache_mode);
        }
 
        if ( false === $output || null === $output ) {
            $twig = $this->get_twig();
            if ( strlen($file) ) {
                $loader = $this->get_loader();
                $result = $loader->getCacheKey($file);
                do_action('timber_loader_render_file', $result);
            }
            $data = apply_filters('timber_loader_render_data', $data);
            $data = apply_filters('timber/loader/render_data', $data, $file);
            $template = $twig->load($file);
            $output = $template->render($data);
        }
 
        if ( false !== $output && false !== $expires && null !== $key ) {
            $this->delete_cache();
            $this->set_cache($key, $output, self::CACHEGROUP, $expires, $cache_mode);
        }
        $output = apply_filters('timber_output', $output);
        return apply_filters('timber/output', $output, $data, $file);
    }
 
    protected function delete_cache() {
        Cleaner::delete_transients();
    }
 
    /**
     * Get first existing template.
     *
     * @param array|string $templates  Name(s) of the Twig template(s) to choose from.
     * @return string|bool             Name of chosen template, otherwise false.
        if ( $via_render ) {
            $file = apply_filters('timber_render_file', $file);
        } else {
            $file = apply_filters('timber_compile_file', $file);
        }
 
        $output = false;
 
        if ($file !== false) {
            if ( is_null($data) ) {
                $data = array();
            }
 
            if ( $via_render ) {
                $data = apply_filters('timber_render_data', $data);
            } else {
                $data = apply_filters('timber_compile_data', $data);
            }
 
            $output = $loader->render($file, $data, $expires, $cache_mode);
        } else {
            if ( is_array($filenames) ) {
                $filenames = implode(", ", $filenames);
            }
            Helper::error_log( 'Error loading your template files: '.$filenames.'. Make sure one of these files exists.' );
        }
 
        do_action('timber_compile_done');
        return $output;
    }
 
    /**
     * Compile a string.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
        $twig = $dummy_loader->get_twig();
        $template = $twig->createTemplate($string);
        return $template->render($data);
    }
 
    /**
     * Fetch function.
     *
     * @api
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The returned output.
     */
    public static function fetch( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::compile($filenames, $data, $expires, $cache_mode, true);
        $output = apply_filters('timber_compile_result', $output);
        return $output;
    }
 
    /**
     * Render function.
     *
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     * Passes data to a Twig file and echoes the output.
     *
     * @api
     * @example
     * ```php
     * $context = Timber::context();
     *
     * Timber::render( 'index.twig', $context );
     * ```
     * @param array|string $filenames  Name of the Twig file to render. If this is an array of files, Timber will
     *                                 render the first file that exists.
     * @param array        $data       Optional. An array of data to use in Twig template.
     * @param bool|int     $expires    Optional. In seconds. Use false to disable cache altogether. When passed an
     *                                 array, the first value is used for non-logged in visitors, the second for users.
     *                                 Default false.
     * @param string       $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
     * @return bool|string The echoed output.
     */
    public static function render( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
        $output = self::fetch($filenames, $data, $expires, $cache_mode);
        echo $output;
        return $output;
    }
 
    /**
     * Render a string with Twig variables.
     *
     * @api
     * @example
     * ```php
     * $data = array(
     *     'username' => 'Jane Doe',
     * );
     *
     * Timber::render_string( 'Hi {{ username }}, I’m a string with a custom Twig variable', $data );
     * ```
     * @param string $string A string with Twig variables.
     * @param array  $data   An array of data to use in Twig template.
     * @return bool|string
     */
use Timber\Timber;

/*
 * The Template for displaying all single posts
 */

$gantry = Gantry\Framework\Gantry::instance();
$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;
$context['wp_title'] .= ' - ' . $post->title();

Timber::render(['single-' . $post->ID . '.html.twig', 'single-' . $post->post_type . '.html.twig', 'single.html.twig'], $context);
 
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * Filters the path of the current template before including it.
     *
     * @since 3.0.0
     *
     * @param string $template The path of the template to include.
     */
    $template = apply_filters( 'template_include', $template );
    if ( $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:

empty
Key Value
TCM_PostShown WP_Post Object ( [ID] => 2540 [post_author] => 4 [post_date] => 2021-03-31 00:07:47 [post_date_gmt] => 2021-03-31 04:07:47 [post_content] => If you are truly serious about overcoming substance abuse long-term, you must commit to a long-term program of clinical care - one that begins with medical detox and ends with an extended stay in a sober house. Sober houses - also known as sober living homes or halfway houses - are transitional living environments specifically designed for men and women who are new to recovery and who need additional support as they navigate early sobriety. <h2>Where Are the Best Sober Houses Near Me?</h2> If you have recently completed a higher level of clinical care and you are ready to take the next step on your recovery journey, you might be wondering, “Where can I find the best sober houses near me?” When looking for a sober house there are several things that you want to look for. Unfortunately, many sober homes in New Jersey do not necessarily have the best interest of their residents at heart. In response to the opioid epidemic throughout New Jersey (and the remainder of the United States), many individuals have opened up shoddy halfway houses known as “flop houses” to make an extra buck off of insurance policies. If you are looking for a reputable sober home near me that will aid in your recovery, keep an eye out for the following: <ul> <li>Sober support staff who all have over a year of sobriety themselves.</li> <li>A strictly enforced set of rules and guidelines geared towards keeping residents sober and accountable for their actions.</li> <li>A sober home that is both licensed and accredited through the state of New Jersey.</li> <li>A sober home that accepts rent on a weekly and monthly basis - but does not use the insurance of its residents for anything other than the occasional drug test.</li> <li>Gender-specific living situations - men and women should never reside in the same house, and guests who are members of the opposite sex should be approved by staff.</li> <li>A sober home that requires residents to attend at least one 12-step meeting every day.</li> </ul> <img class="alignleft size-full wp-image-2541" src="https://riverbendresidence.com/wp-content/uploads/2021/03/The-Best-Sober-Houses-Near-Me.jpg" alt="The Best Sober Houses Near Me" width="600" height="400" /> <h2>More About the Best Sober Houses Near Me</h2> Finding the best sober houses near me is not a difficult task when you know exactly what to look for. Of course, if you have never been in sober living before, you might need a little bit of guidance. If you want to transition into a sober living but you don’t know what to look for, give us a call today. We will gladly set up an in-person tour of one of our gender-specific houses so that you can see the true difference between our facilities and the rest of the sober houses in the area. We look forward to speaking with you and helping you in every way that we can. <h2>Why Are Riverbend Residences the Best Sober Houses?</h2> At <a href="https://riverbendresidence.com/">Riverbend Residence</a> we offer a comprehensive and effective sober living program to residents of New Jersey and all surrounding areas. If you are currently living in New Jersey and you have been wondering, “How do I find the best sober houses near me,” look no further than Riverbend Residence. We believe that the road to recovery always continues with sober living and that for men and women to stay sober long-term they must stay committed to recovery through any means necessary. We understand that once you complete an extended stay in an inpatient treatment center, you likely want to return to your daily life and transition back into fully independent living as quickly as possible. However, it is important to keep in mind that men and women who transition directly into sober living after rehab have significantly higher success rates. They generally stay sober for much, much longer than people who return home after rehab. If you are ready to move into a sober living house that will bolster your sobriety and provide you with an extra level of support and accountability, reach out to Riverbend Residence today at <a href="tel:844-505-3447">(844) 505-3447</a> for more information on the best sober homes near me and we will help you make the right decision for yourself or a loved one. [post_title] => The Best Sober Houses Near Me [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => the-best-sober-houses-near-me [to_ping] => [pinged] => [post_modified] => 2021-03-31 00:08:43 [post_modified_gmt] => 2021-03-31 04:08:43 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=2540 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 2540 [slug] => the-best-sober-houses-near-me [custom] => Array ( [_edit_lock] => 1622535729:3 [_edit_last] => 3 [_thumbnail_id] => 2541 [_wp_page_template] => default [_yoast_wpseo_focuskw] => The Best Sober Houses Near Me [_yoast_wpseo_metadesc] => Finding the best sober house near you is not a difficult task when you know exactly what to look for in a reputable transitional living home. [_yoast_wpseo_linkdex] => 71 [_yoast_wpseo_content_score] => 60 [_yoast_wpseo_estimated-reading-time-minutes] => 4 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => The Best Sober Houses Near Me | Riverbend Recovery Residences [_wp_old_date] => 2021-03-28 ) )
TCM_SnippetsWrittenIds Array ( )
TCM_SnippetsWrittenMd5 Array ( )
TCM_Cache_Query_2_ Array ( [0] => Array ( [id] => post [text] => Post (post) [name] => Post (post) ) [1] => Array ( [id] => page [text] => Page (page) [name] => Page (page) ) )
empty
empty
empty
Key Value
SERVER_SOFTWARE Apache
REQUEST_URI /the-best-sober-houses-near-me/
REDIRECT_HAVE_ORIGINAL_USER_AGENT claudebot
REDIRECT_HTTPS on
REDIRECT_IS_WPE 1
REDIRECT_WPE_CAN_WRITE_DISK 0
REDIRECT_WPENGINE_PHPSESSIONS on
REDIRECT_WPE_HEARTBEAT_AUTOSAVE_ONLY on
REDIRECT_WPENGINE_FORCE_STRONG_PASSWORDS on
REDIRECT_WPENGINE_CLEAR_EXPIRED_COOKIES off
REDIRECT_WPENGINE_ACCOUNT riverbendresid
REDIRECT_WPENGINE_SESSION_LOCKING on
REDIRECT_STATUS 200
HAVE_ORIGINAL_USER_AGENT claudebot
HTTPS on
IS_WPE 1
WPE_CAN_WRITE_DISK 0
WPENGINE_PHPSESSIONS on
WPE_HEARTBEAT_AUTOSAVE_ONLY on
WPENGINE_FORCE_STRONG_PASSWORDS on
WPENGINE_CLEAR_EXPIRED_COOKIES off
WPENGINE_ACCOUNT riverbendresid
WPENGINE_SESSION_LOCKING on
HTTP_HOST riverbendresidence.com
HTTP_CONNECTION close
HTTP_X_IS_BOT 1
HTTP_USER_AGENT claudebot
HTTP_X_FORWARDED_HOST riverbendresidence.com
HTTP_X_WPE_SSL 1
HTTP_X_WPE_INSTALL_NAME riverbendresid
HTTP_WPE_READONLY on
HTTP_CF_CONNECTING_IP 34.206.3.58, 34.206.3.58, 34.206.3.58
HTTP_X_WPE_REQUEST_ID 4da8e2c6ff09d5935fa7caa48b22248f
HTTP_X_WPE_LOCAL_SSL 1
HTTP_X_FORWARDED_PROTO https
HTTP_CF_RAY 86bd415ddded05fb-IAD
HTTP_CF_VISITOR {\"scheme\":\"https\"}
HTTP_ACCEPT */*
HTTP_REFERER https://www.riverbendresidence.com/the-best-sober-houses-near-me/
HTTP_CDN_LOOP cloudflare
HTTP_X_WPE_EDGE AN
HTTP_CF_IPCOUNTRY US
HTTP_X_WORDPRESS_TYPE DEFAULT
HTTP_WPE_UPLOAD_MAX_FILESIZE 50M
HTTP_WPE_POST_MAX_SIZE 100M
HTTP_VIA 1.1 pod-141067:varnish:106 (Varnish/7.4)
HTTP_X_UA_ORIGINAL claudebot
HTTP_RAWHOST riverbendresidence.com
HTTP_X_BOT_CACHE YES
HTTP_X_CACHE_GROUP bot
HTTP_ACCEPT_ENCODING gzip
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SIGNATURE
SERVER_NAME riverbendresidence.com
SERVER_ADDR 127.0.0.1
SERVER_PORT 80
REMOTE_ADDR 34.206.3.58
DOCUMENT_ROOT /nas/content/live/riverbendresid
REQUEST_SCHEME http
CONTEXT_PREFIX
CONTEXT_DOCUMENT_ROOT /nas/content/live/riverbendresid
SERVER_ADMIN [no address given]
SCRIPT_FILENAME /nas/content/live/riverbendresid/index.php
REMOTE_PORT 40648
REDIRECT_URL /the-best-sober-houses-near-me/
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.0
REQUEST_METHOD GET
QUERY_STRING
SCRIPT_NAME /index.php
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711687997.15
REQUEST_TIME 1711687997
Key Value
APACHE2_OPCACHE_MAX_FILE_SIZE_BYTES 614400
APACHE2_OPCACHE_MEMORY_CONSUMPTION 512
HOSTNAME pod-141067:apache2_74:v0.3.4
SHLVL 0
APACHE_RUN_DIR /var/run/apache2
APACHE_PID_FILE /var/run/apache2/apache2.pid
APACHE2_OPCACHE_REVALIDATE_FREQ 10
_ /usr/sbin/apache2ctl
APACHE2_OPCACHE_HUGE_CODE_PAGES 1
APACHE2_LISTEN_PORT_RW 6778
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
APACHE_LOCK_DIR /var/lock/apache2
APACHE2_OPCACHE_MAX_WASTED_PERCENTAGE 5
LANG C
APACHE2_OPCACHE_MAX_ACCELERATED_FILES 1000000
APACHE_RUN_USER www-data
APACHE_RUN_GROUP www-data
APACHE2_LISTEN_PORT 6779
APACHE_LOG_DIR /var/log/apache2
PWD /
BASE_VERSION 7.4-zend
WPENGINE_ACCOUNT riverbendresid
WPENGINE_PHPSESSIONS on
WPENGINE_DB_SESSIONS off
0. Whoops\Handler\PrettyPageHandler