RuntimeException (404)
Page Not Found RuntimeException thrown with message "Page Not Found" Stacktrace: #7 RuntimeException in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Processors/PagesProcessor.php:39 #6 Grav\Common\Processors\PagesProcessor:process in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Grav.php:131 #5 Grav\Common\Grav:Grav\Common\{closure} in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Grav.php:370 #4 Grav\Common\Grav:Grav\Common\{closure} in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Grav.php:346 #3 call_user_func_array in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Grav.php:346 #2 Grav\Common\Grav:__call in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Grav.php:132 #1 Grav\Common\Grav:measureTime in /var/www/www.classic-hekwerken.nl/system/src/Grav/Common/Grav.php:132 #0 Grav\Common\Grav:process in /var/www/www.classic-hekwerken.nl/index.php:52
Stack frames (8)
7
RuntimeException
/
system
/
src
/
Grav
/
Common
/
Processors
/
PagesProcessor.php
39
6
Grav
\
Common
\
Processors
\
PagesProcessor
process
/
system
/
src
/
Grav
/
Common
/
Grav.php
131
5
Grav
\
Common
\
Grav
Grav
\
Common
\
{closure}
/
system
/
src
/
Grav
/
Common
/
Grav.php
370
4
Grav
\
Common
\
Grav
Grav
\
Common
\
{closure}
/
system
/
src
/
Grav
/
Common
/
Grav.php
346
3
call_user_func_array
/
system
/
src
/
Grav
/
Common
/
Grav.php
346
2
Grav
\
Common
\
Grav
__call
/
system
/
src
/
Grav
/
Common
/
Grav.php
132
1
Grav
\
Common
\
Grav
measureTime
/
system
/
src
/
Grav
/
Common
/
Grav.php
132
0
Grav
\
Common
\
Grav
process
/
index.php
52
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Processors
/
PagesProcessor.php
    {
        // Dump Cache state
        $this->container['debugger']->addMessage($this->container['cache']->getCacheStatus());
 
        $this->container['pages']->init();
        $this->container->fireEvent('onPagesInitialized', new Event(['pages' => $this->container['pages']]));
        $this->container->fireEvent('onPageInitialized', new Event(['page' => $this->container['page']]));
 
        /** @var Page $page */
        $page = $this->container['page'];
 
        if (!$page->routable()) {
            // If no page found, fire event
            $event = $this->container->fireEvent('onPageNotFound', new Event(['page' => $page]));
 
            if (isset($event->page)) {
                unset ($this->container['page']);
                $this->container['page'] = $event->page;
            } else {
                throw new \RuntimeException('Page Not Found', 404);
            }
        }
 
    }
}
 
Arguments
  1. "Page Not Found"
    
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Grav.php
        } elseif ($values) {
            $instance = self::$instance;
            foreach ($values as $key => $value) {
                $instance->offsetSet($key, $value);
            }
        }
 
        return self::$instance;
    }
 
    /**
     * Process a request
     */
    public function process()
    {
        // process all processors (e.g. config, initialize, assets, ..., render)
        foreach ($this->processors as $processor) {
            $processor = $this[$processor];
            $this->measureTime($processor->id, $processor->title, function () use ($processor) {
                $processor->process();
            });
        }
 
        /** @var Debugger $debugger */
        $debugger = $this['debugger'];
        $debugger->render();
 
        register_shutdown_function([$this, 'shutdown']);
    }
 
    /**
     * Set the system locale based on the language and configuration
     */
    public function setLocale()
    {
        // Initialize Locale if set and configured.
        if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
            $language = $this['language']->getLanguage();
            setlocale(LC_ALL, strlen($language) < 3 ? ($language . '_' . strtoupper($language)) : $language);
        } elseif ($this['config']->get('system.default_locale')) {
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Grav.php
     *
     * @param  array $values
     *
     * @return static
     */
    protected static function load(array $values)
    {
        $container = new static($values);
 
        $container['grav'] = $container;
 
        $container['debugger'] = new Debugger();
        $debugger = $container['debugger'];
 
        // closure that measures time by wrapping a function into startTimer and stopTimer
        // The debugger can be passed to the closure. Should be more performant
        // then to get it from the container all time.
        $container->measureTime = function ($timerId, $timerTitle, $callback) use ($debugger) {
            $debugger->startTimer($timerId, $timerTitle);
            $callback();
            $debugger->stopTimer($timerId);
        };
 
        $container->measureTime('_services', 'Services', function () use ($container) {
            $container->registerServices($container);
        });
 
        return $container;
    }
 
    /**
     * Register all services
     * Services are defined in the diMap. They can either only the class
     * of a Service Provider or a pair of serviceKey => serviceClass that
     * gets directly mapped into the container.
     *
     * @return void
     */
    protected function registerServices()
    {
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Grav.php
 
                ob_end_flush();
                @ob_flush();
                flush();
            }
        }
 
        // Run any time consuming tasks.
        $this->fireEvent('onShutdown');
    }
 
    /**
     * Magic Catch All Function
     * Used to call closures like measureTime on the instance.
     * Source: http://stackoverflow.com/questions/419804/closures-as-class-members
     */
    public function __call($method, $args)
    {
        $closure = $this->$method;
        call_user_func_array($closure, $args);
    }
 
    /**
     * Initialize and return a Grav instance
     *
     * @param  array $values
     *
     * @return static
     */
    protected static function load(array $values)
    {
        $container = new static($values);
 
        $container['grav'] = $container;
 
        $container['debugger'] = new Debugger();
        $debugger = $container['debugger'];
 
        // closure that measures time by wrapping a function into startTimer and stopTimer
        // The debugger can be passed to the closure. Should be more performant
Arguments
  1. "pages"
    
  2. "Pages"
    
  3. Closure {
      class: "Grav\Common\Grav"
      this: Grav { …}
      use: {
        $processor: PagesProcessor { …}
      }
    }
    
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Grav.php
 
                ob_end_flush();
                @ob_flush();
                flush();
            }
        }
 
        // Run any time consuming tasks.
        $this->fireEvent('onShutdown');
    }
 
    /**
     * Magic Catch All Function
     * Used to call closures like measureTime on the instance.
     * Source: http://stackoverflow.com/questions/419804/closures-as-class-members
     */
    public function __call($method, $args)
    {
        $closure = $this->$method;
        call_user_func_array($closure, $args);
    }
 
    /**
     * Initialize and return a Grav instance
     *
     * @param  array $values
     *
     * @return static
     */
    protected static function load(array $values)
    {
        $container = new static($values);
 
        $container['grav'] = $container;
 
        $container['debugger'] = new Debugger();
        $debugger = $container['debugger'];
 
        // closure that measures time by wrapping a function into startTimer and stopTimer
        // The debugger can be passed to the closure. Should be more performant
Arguments
  1. Closure {
      class: "Grav\Common\Grav"
      parameters: {
        $timerId: {}
        $timerTitle: {}
        $callback: {}
      }
      use: {
        $debugger: Debugger { …}
      }
    }
    
  2. array:3 [
      0 => "pages"
      1 => "Pages"
      2 => Closure {
        class: "Grav\Common\Grav"
        this: Grav { …}
        use: {
          $processor: PagesProcessor { …}
        }
      }
    ]
    
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Grav.php
            $instance = self::$instance;
            foreach ($values as $key => $value) {
                $instance->offsetSet($key, $value);
            }
        }
 
        return self::$instance;
    }
 
    /**
     * Process a request
     */
    public function process()
    {
        // process all processors (e.g. config, initialize, assets, ..., render)
        foreach ($this->processors as $processor) {
            $processor = $this[$processor];
            $this->measureTime($processor->id, $processor->title, function () use ($processor) {
                $processor->process();
            });
        }
 
        /** @var Debugger $debugger */
        $debugger = $this['debugger'];
        $debugger->render();
 
        register_shutdown_function([$this, 'shutdown']);
    }
 
    /**
     * Set the system locale based on the language and configuration
     */
    public function setLocale()
    {
        // Initialize Locale if set and configured.
        if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
            $language = $this['language']->getLanguage();
            setlocale(LC_ALL, strlen($language) < 3 ? ($language . '_' . strtoupper($language)) : $language);
        } elseif ($this['config']->get('system.default_locale')) {
            setlocale(LC_ALL, $this['config']->get('system.default_locale'));
Arguments
  1. "measureTime"
    
  2. array:3 [
      0 => "pages"
      1 => "Pages"
      2 => Closure {
        class: "Grav\Common\Grav"
        this: Grav { …}
        use: {
          $processor: PagesProcessor { …}
        }
      }
    ]
    
/
var
/
www
/
www.classic-hekwerken.nl
/
system
/
src
/
Grav
/
Common
/
Grav.php
            $instance = self::$instance;
            foreach ($values as $key => $value) {
                $instance->offsetSet($key, $value);
            }
        }
 
        return self::$instance;
    }
 
    /**
     * Process a request
     */
    public function process()
    {
        // process all processors (e.g. config, initialize, assets, ..., render)
        foreach ($this->processors as $processor) {
            $processor = $this[$processor];
            $this->measureTime($processor->id, $processor->title, function () use ($processor) {
                $processor->process();
            });
        }
 
        /** @var Debugger $debugger */
        $debugger = $this['debugger'];
        $debugger->render();
 
        register_shutdown_function([$this, 'shutdown']);
    }
 
    /**
     * Set the system locale based on the language and configuration
     */
    public function setLocale()
    {
        // Initialize Locale if set and configured.
        if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
            $language = $this['language']->getLanguage();
            setlocale(LC_ALL, strlen($language) < 3 ? ($language . '_' . strtoupper($language)) : $language);
        } elseif ($this['config']->get('system.default_locale')) {
            setlocale(LC_ALL, $this['config']->get('system.default_locale'));
Arguments
  1. "pages"
    
  2. "Pages"
    
  3. Closure {
      class: "Grav\Common\Grav"
      this: Grav { …}
      use: {
        $processor: PagesProcessor { …}
      }
    }
    
/
var
/
www
/
www.classic-hekwerken.nl
/
index.php
 
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
 
// Set internal encoding if mbstring loaded
if (!extension_loaded('mbstring')) {
    die("'mbstring' extension is not loaded.  This is required for Grav to run correctly");
}
mb_internal_encoding('UTF-8');
 
// Get the Grav instance
$grav = Grav::instance(
    array(
        'loader' => $loader
    )
);
 
// Process the page
try {
    $grav->process();
} catch (\Exception $e) {
    $grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
    throw $e;
}
 

Environment & details:

empty
empty
empty
empty
Key Value
redirect_after_login
null
user
User {}
Key Value
USER
"apache"
HOME
"/usr/share/httpd"
FCGI_ROLE
"RESPONDER"
SCRIPT_FILENAME
"/var/www/www.classic-hekwerken.nl/index.php"
QUERY_STRING
""
REQUEST_METHOD
"GET"
CONTENT_TYPE
""
CONTENT_LENGTH
""
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/images/6/c/4/2/6/6c426093c47b9d74be0683a0fe1248fe2777ea9d-schuifpoorten-30.jpeg"
DOCUMENT_URI
"/index.php"
DOCUMENT_ROOT
"/var/www/www.classic-hekwerken.nl"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_SCHEME
"https"
HTTPS
"on"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_SOFTWARE
"nginx/1.24.0"
REMOTE_ADDR
"3.19.31.73"
REMOTE_PORT
"38570"
SERVER_ADDR
"171.30.1.95"
SERVER_PORT
"443"
SERVER_NAME
"classic-hekwerken.nl"
REDIRECT_STATUS
"200"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"claudebot"
HTTP_HOST
"classic-hekwerken.nl"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1713460283.0592
REQUEST_TIME
1713460283
empty
0. Whoops\Handler\PrettyPageHandler
1. Whoops\Handler\CallbackHandler