Error
Call to a member function getValue() on null Error thrown with message "Call to a member function getValue() on null" Stacktrace: #13 Error in rex:///module/7/output:8 #12 require in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/cache/addons/structure/34.1.content:4 #11 require in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/lib/article_content.php:99 #10 rex_article_content:getArticle in rex:///template/3:1 #9 require in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/lib/article_content_base.php:445 #8 rex_article_content_base:{closure} in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/util/timer.php:60 #7 rex_timer:measure in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/lib/article_content_base.php:446 #6 rex_article_content_base:getArticleTemplate in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/boot.php:47 #5 rex_package:{closure} in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/extension.php:49 #4 rex_extension:{closure} in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/util/timer.php:60 #3 rex_timer:measure in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/extension.php:56 #2 rex_extension:registerPoint in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/frontend.php:26 #1 require in /srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/boot.php:137 #0 require in /srv/www/web9/htdocs/studienkolleg.rahn.education/index.php:9
Stack frames (14)
13
Error
rex:///module/7/output8
12
require
/redaxo/cache/addons/structure/34.1.content4
11
require
/redaxo/src/addons/structure/plugins/content/lib/article_content.php99
10
rex_article_content getArticle
rex:///template/31
9
require
/redaxo/src/addons/structure/plugins/content/lib/article_content_base.php445
8
rex_article_content_base {closure}
/redaxo/src/core/lib/util/timer.php60
7
rex_timer measure
/redaxo/src/addons/structure/plugins/content/lib/article_content_base.php446
6
rex_article_content_base getArticleTemplate
/redaxo/src/addons/structure/plugins/content/boot.php47
5
rex_package {closure}
/redaxo/src/core/lib/extension.php49
4
rex_extension {closure}
/redaxo/src/core/lib/util/timer.php60
3
rex_timer measure
/redaxo/src/core/lib/extension.php56
2
rex_extension registerPoint
/redaxo/src/core/frontend.php26
1
require
/redaxo/src/core/boot.php137
0
require
/index.php9
<?php

$filename = rex_request::request('f','string');
if(strcmp($filename,'')!=0) {
    while (@ob_end_flush());
        $filename = base64_decode($filename);
        $media_data = rex_media::get($filename);
        $canonical = $media_data->getValue('med_canonical');
//        $mime_type = $media_data->getValue('type');
    
        $mime_type = mime_content_type($_SERVER["DOCUMENT_ROOT"].$mcms."/media/".$filename);

    // Ausgabe
        header( "Pragma: no-cache" );
        header( "Expires: 0" );
        header( "Content-Type: ".$mime_type );
        header( "Content-Disposition: attachment; filename=\"".$filename."\"");
        header("Content-Description: Download ".$mime_type."-File");
        if(strcmp($canonical,'')!=0) header('Link: <'.$canonical.'>; rel="canonical"');
        readfile($_SERVER["DOCUMENT_ROOT"].$mcms."/media/".$filename);
}
else {

$media = /* REX_MEDIA[1] */ '';
$bezeichnung = /* REX_VALUE[1] */ '';
$linkid = 34;
if(strcmp($bezeichnung,'')==0) $bezeichnung = $media;

$link = rex_getUrl($linkid,rex_clang::getCurrentId()).'?f='.base64_encode($media);

$vl_start = '<div class="container inner">';
$vl_ende = '</div><div style="height:120px;"></div>';

$fsize = filesize($_SERVER["DOCUMENT_ROOT"].'/media/'.$media);
$item = '<div class="col-md-6">
<table class="table table-bordered table-striped">
<tr><td width="50"><i class="icon-download-1"></i></td><td><a href="'.$link.'" target="_blank">'.$bezeichnung.' ('.number_format(($fsize / 1024 / 1024),2,",",".").'MB)</td></tr>
</table>
</div>';

Arguments
  1. "Call to a member function getValue() on null"
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/cache/addons/structure/34.1.content
<?php if ($this->ctype == '1' || ($this->ctype == '-1')) { 
require rex_stream::factory('module/7/output', 
<<<'EOD_4ED04CC30A5D2A80C92F407627FC8841D8D7E4DF'
<?php

$filename = rex_request::request('f','string');
if(strcmp($filename,'')!=0) {
    while (@ob_end_flush());
        $filename = base64_decode($filename);
        $media_data = rex_media::get($filename);
        $canonical = $media_data->getValue('med_canonical');
//        $mime_type = $media_data->getValue('type');
    
        $mime_type = mime_content_type($_SERVER["DOCUMENT_ROOT"].$mcms."/media/".$filename);

    // Ausgabe
        header( "Pragma: no-cache" );
        header( "Expires: 0" );
        header( "Content-Type: ".$mime_type );
        header( "Content-Disposition: attachment; filename=\"".$filename."\"");
        header("Content-Description: Download ".$mime_type."-File");
        if(strcmp($canonical,'')!=0) header('Link: <'.$canonical.'>; rel="canonical"');
        readfile($_SERVER["DOCUMENT_ROOT"].$mcms."/media/".$filename);
}
else {

$media = /* REX_MEDIA[1] */ '';
$bezeichnung = /* REX_VALUE[1] */ '';
$linkid = 34;
if(strcmp($bezeichnung,'')==0) $bezeichnung = $media;

$link = rex_getUrl($linkid,rex_clang::getCurrentId()).'?f='.base64_encode($media);

$vl_start = '<div class="container inner">';
$vl_ende = '</div><div style="height:120px;"></div>';

$fsize = filesize($_SERVER["DOCUMENT_ROOT"].'/media/'.$media);
$item = '<div class="col-md-6">
<table class="table table-bordered table-striped">
<tr><td width="50"><i class="icon-download-1"></i></td><td><a href="'.$link.'" target="_blank">'.$bezeichnung.' ('.number_format(($fsize / 1024 / 1024),2,",",".").'MB)</td></tr>
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/lib/article_content.php
    {
        // bc
        if ($this->viasql) {
            return parent::getArticle($curctype);
        }
 
        $this->ctype = $curctype;
 
        if (!$this->getSlice && 0 != $this->article_id) {
            // ----- start: article caching
            ob_start();
            ob_implicit_flush(0);
 
            $article_content_file = rex_path::addonCache('structure', $this->article_id . '.' . $this->clang . '.content');
 
            if (!is_file($article_content_file)) {
                rex_content_service::generateArticleContent($this->article_id, $this->clang);
            }
 
            require $article_content_file;
 
            // ----- end: article caching
            $CONTENT = ob_get_clean();
        } else {
            // Inhalt ueber sql generierens
            $CONTENT = parent::getArticle($curctype);
        }
 
        $CONTENT = rex_extension::registerPoint(new rex_extension_point('ART_CONTENT', $CONTENT, [
            'ctype' => $curctype,
            'article' => $this,
        ]));
 
        return $CONTENT;
    }
}
 
Arguments
  1. "/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/cache/addons/structure/34.1.content"
    
<?= /* REX_ARTICLE[] */ $this->getArticle(-1) ?>
Arguments
  1. -1
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/lib/article_content_base.php
     */
    protected function postArticle($articleContent, $module_id)
    {
        // nichts tun
        return $articleContent;
    }
 
    // ----- Template inklusive Artikel zurückgeben
    public function getArticleTemplate()
    {
        if (0 != $this->template_id && 0 != $this->article_id) {
            ob_start();
            ob_implicit_flush(0);
 
            $TEMPLATE = new rex_template($this->template_id);
 
            rex_timer::measure('Template: '.($TEMPLATE->getKey() ?? $TEMPLATE->getId()), function () use ($TEMPLATE) {
                $tplContent = $this->replaceCommonVars($TEMPLATE->getTemplate());
 
                require rex_stream::factory('template/' . $this->template_id, $tplContent);
            });
 
            $CONTENT = ob_get_clean();
 
            $CONTENT = $this->replaceLinks($CONTENT);
        } else {
            $CONTENT = 'no template';
        }
 
        return $CONTENT;
    }
 
    /**
     * @return string
     */
    protected function getStreamOutput($path, $content)
    {
        if (!$this->eval) {
            $key = 'EOD_' . strtoupper(sha1((string) time()));
            return "require rex_stream::factory('$path', \n<<<'$key'\n$content\n$key\n);\n";
Arguments
  1. "rex:///template/3"
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/util/timer.php
 
    /**
     * Measures the runtime of the given callable.
     *
     * On sufficient user permissions - or in debug mode - this timings will be sent over the wire to the browser via server timing api http headers.
     *
     * @param string $label
     *
     * @return mixed result of callable
     */
    public static function measure($label, callable $callable)
    {
        if (!rex::isDebugMode()) {
            return $callable();
        }
 
        $timer = new self();
 
        try {
            return $callable();
        } finally {
            $timer->stop();
 
            self::measured($label, $timer);
        }
    }
 
    /**
     * Saves the measurement of the given timer.
     *
     * This method should be used only if the measured code can not be wrapped inside a callable, otherwise use `measure()`.
     */
    public static function measured(string $label, self $timer): void
    {
        $duration = self::$serverTimings[$label]['sum'] ?? 0;
        $duration += $timer->getDelta(self::MILLISEC);
 
        self::$serverTimings[$label]['sum'] = $duration;
        self::$serverTimings[$label]['timings'][] = [
            'start' => $timer->start,
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/lib/article_content_base.php
    protected function postArticle($articleContent, $module_id)
    {
        // nichts tun
        return $articleContent;
    }
 
    // ----- Template inklusive Artikel zurückgeben
    public function getArticleTemplate()
    {
        if (0 != $this->template_id && 0 != $this->article_id) {
            ob_start();
            ob_implicit_flush(0);
 
            $TEMPLATE = new rex_template($this->template_id);
 
            rex_timer::measure('Template: '.($TEMPLATE->getKey() ?? $TEMPLATE->getId()), function () use ($TEMPLATE) {
                $tplContent = $this->replaceCommonVars($TEMPLATE->getTemplate());
 
                require rex_stream::factory('template/' . $this->template_id, $tplContent);
            });
 
            $CONTENT = ob_get_clean();
 
            $CONTENT = $this->replaceLinks($CONTENT);
        } else {
            $CONTENT = 'no template';
        }
 
        return $CONTENT;
    }
 
    /**
     * @return string
     */
    protected function getStreamOutput($path, $content)
    {
        if (!$this->eval) {
            $key = 'EOD_' . strtoupper(sha1((string) time()));
            return "require rex_stream::factory('$path', \n<<<'$key'\n$content\n$key\n);\n";
        }
Arguments
  1. "Template: 3"
    
  2. Closure() {#290 …4}
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/addons/structure/plugins/content/boot.php
    }
 
    rex_extension::register('CLANG_DELETED', static function (rex_extension_point $ep) {
        $del = rex_sql::factory();
        $del->setQuery('delete from ' . rex::getTablePrefix() . "article_slice where clang_id='" . $ep->getParam('clang')->getId() . "'");
    });
} else {
    rex_extension::register('FE_OUTPUT', static function (rex_extension_point $ep) {
        $clangId = rex_get('clang', 'int');
        if ($clangId && !rex_clang::exists($clangId)) {
            rex_redirect(rex_article::getNotfoundArticleId(), rex_clang::getStartId());
        }
 
        $content = $ep->getSubject();
 
        $article = new rex_article_content();
        $article->setCLang(rex_clang::getCurrentId());
 
        if ($article->setArticleId(rex_article::getCurrentId())) {
            $content .= $article->getArticleTemplate();
        } else {
            $fragment = new rex_fragment([
                'content' => '<p><b>Kein Startartikel selektiert - No starting Article selected.</b><br />Please click here to enter <a href="' . rex_url::backendController() . '">redaxo</a>.</p>',
            ]);
            $content .= $fragment->parse('core/fe_ooops.php');
            rex_response::sendPage($content);
            exit;
        }
 
        $art_id = $article->getArticleId();
        if ($art_id == rex_article::getNotfoundArticleId() && $art_id != rex_article::getSiteStartArticleId()) {
            rex_response::setStatus(rex_response::HTTP_NOT_FOUND);
        }
 
        // ----- inhalt ausgeben
        rex_response::sendPage($content, $article->getValue('updatedate'));
    });
}
 
rex_extension::register('EDITOR_URL', static function (rex_extension_point $ep) {
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/extension.php
     * @return mixed Subject, maybe adjusted by the extensions
     */
    public static function registerPoint(rex_extension_point $extensionPoint)
    {
        if (static::hasFactoryClass()) {
            return static::callFactoryClass(__FUNCTION__, func_get_args());
        }
 
        $name = $extensionPoint->getName();
 
        rex_timer::measure('EP: '.$name, static function () use ($extensionPoint, $name) {
            foreach ([self::EARLY, self::NORMAL, self::LATE] as $level) {
                if (!isset(self::$extensions[$name][$level]) || !is_array(self::$extensions[$name][$level])) {
                    continue;
                }
 
                foreach (self::$extensions[$name][$level] as $extensionAndParams) {
                    [$extension, $params] = $extensionAndParams;
                    $extensionPoint->setExtensionParams($params);
                    $subject = call_user_func($extension, $extensionPoint);
                    // Update subject only if the EP is not readonly and the extension has returned something
                    if (!$extensionPoint->isReadonly() && null !== $subject) {
                        $extensionPoint->setSubject($subject);
                    }
                }
            }
        });
 
        return $extensionPoint->getSubject();
    }
 
    /**
     * Registers an extension for an extension point.
     *
     * @param string|string[] $extensionPoint Name(s) of extension point(s)
     * @param callable        $extension      Callback extension
     * @param int             $level          Runlevel (`rex_extension::EARLY`, `rex_extension::NORMAL` or `rex_extension::LATE`)
     * @param array           $params         Additional params
     */
    public static function register($extensionPoint, callable $extension, $level = self::NORMAL, array $params = [])
Arguments
  1. rex_extension_point {#274}
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/util/timer.php
 
    /**
     * Measures the runtime of the given callable.
     *
     * On sufficient user permissions - or in debug mode - this timings will be sent over the wire to the browser via server timing api http headers.
     *
     * @param string $label
     *
     * @return mixed result of callable
     */
    public static function measure($label, callable $callable)
    {
        if (!rex::isDebugMode()) {
            return $callable();
        }
 
        $timer = new self();
 
        try {
            return $callable();
        } finally {
            $timer->stop();
 
            self::measured($label, $timer);
        }
    }
 
    /**
     * Saves the measurement of the given timer.
     *
     * This method should be used only if the measured code can not be wrapped inside a callable, otherwise use `measure()`.
     */
    public static function measured(string $label, self $timer): void
    {
        $duration = self::$serverTimings[$label]['sum'] ?? 0;
        $duration += $timer->getDelta(self::MILLISEC);
 
        self::$serverTimings[$label]['sum'] = $duration;
        self::$serverTimings[$label]['timings'][] = [
            'start' => $timer->start,
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/lib/extension.php
 
        $name = $extensionPoint->getName();
 
        rex_timer::measure('EP: '.$name, static function () use ($extensionPoint, $name) {
            foreach ([self::EARLY, self::NORMAL, self::LATE] as $level) {
                if (!isset(self::$extensions[$name][$level]) || !is_array(self::$extensions[$name][$level])) {
                    continue;
                }
 
                foreach (self::$extensions[$name][$level] as $extensionAndParams) {
                    [$extension, $params] = $extensionAndParams;
                    $extensionPoint->setExtensionParams($params);
                    $subject = call_user_func($extension, $extensionPoint);
                    // Update subject only if the EP is not readonly and the extension has returned something
                    if (!$extensionPoint->isReadonly() && null !== $subject) {
                        $extensionPoint->setSubject($subject);
                    }
                }
            }
        });
 
        return $extensionPoint->getSubject();
    }
 
    /**
     * Registers an extension for an extension point.
     *
     * @param string|string[] $extensionPoint Name(s) of extension point(s)
     * @param callable        $extension      Callback extension
     * @param int             $level          Runlevel (`rex_extension::EARLY`, `rex_extension::NORMAL` or `rex_extension::LATE`)
     * @param array           $params         Additional params
     */
    public static function register($extensionPoint, callable $extension, $level = self::NORMAL, array $params = [])
    {
        if (static::hasFactoryClass()) {
            static::callFactoryClass(__FUNCTION__, func_get_args());
            return;
        }
        foreach ((array) $extensionPoint as $ep) {
            self::$extensions[$ep][(int) $level][] = [$extension, $params];
Arguments
  1. "EP: FE_OUTPUT"
    
  2. Closure() {#275 …3}
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/frontend.php
if (rex::isSetup()) {
    rex_response::sendRedirect(rex_url::backendController());
}
 
if (rex::isDebugMode()) {
    header('X-Robots-Tag: noindex, nofollow, noarchive');
}
 
// ----- INCLUDE ADDONS
include_once rex_path::core('packages.php');
 
// ----- caching end für output filter
$CONTENT = ob_get_clean();
 
// trigger api functions
rex_api_function::handleCall();
 
if (rex_extension::isRegistered('FE_OUTPUT')) {
    // ----- EXTENSION POINT
    rex_extension::registerPoint(new rex_extension_point('FE_OUTPUT', $CONTENT));
} else {
    // ----- inhalt ausgeben
    rex_response::sendPage($CONTENT);
}
 
Arguments
  1. rex_extension_point {#274}
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/boot.php
    $clangId = rex_request('clang', 'int', rex_clang::getStartId());
    if (rex::isBackend() || rex_clang::exists($clangId)) {
        rex_clang::setCurrentId($clangId);
    }
}
 
// ----------------- HTTPS REDIRECT
if ('cli' !== PHP_SAPI && !rex::isSetup()) {
    if ((true === rex::getProperty('use_https') || rex::getEnvironment() === rex::getProperty('use_https')) && !rex_request::isHttps()) {
        rex_response::enforceHttps();
    }
 
    if (true === rex::getProperty('use_hsts') && rex_request::isHttps()) {
        rex_response::setHeader('Strict-Transport-Security', 'max-age='.rex::getProperty('hsts_max_age', 31536000)); // default 1 year
    }
}
 
if (isset($REX['LOAD_PAGE']) && $REX['LOAD_PAGE']) {
    unset($REX);
    require rex_path::core(rex::isBackend() ? 'backend.php' : 'frontend.php');
}
 
Arguments
  1. "/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/frontend.php"
    
/srv/www/web9/htdocs/studienkolleg.rahn.education/index.php
<?php
 
unset($REX);
$REX['REDAXO'] = false;
$REX['HTDOCS_PATH'] = './';
$REX['BACKEND_FOLDER'] = 'redaxo';
$REX['LOAD_PAGE'] = true;
 
require $REX['BACKEND_FOLDER'] . '/src/core/boot.php';
 
Arguments
  1. "/srv/www/web9/htdocs/studienkolleg.rahn.education/redaxo/src/core/boot.php"
    

Environment & details:

Key Value
f
"Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
empty
empty
empty
empty
Key Value
PHPRC
"/srv/www/web9/conf/php7/"
PWD
"/srv/www/web9/conf/php7"
TMP
"/srv/www/web9/tmp"
PHP_FCGI_MAX_REQUESTS
"5000"
TMPDIR
"/srv/www/web9/tmp"
SHLVL
"0"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
HTTP_CONNECTION
"close"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/getdownload/?f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
QUERY_STRING
"f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REDIRECT_QUERY_STRING
"f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
REDIRECT_URL
"/getdownload/"
REMOTE_PORT
"47362"
SCRIPT_FILENAME
"/srv/www/web9/htdocs/studienkolleg.rahn.education/index.php"
SERVER_ADMIN
"[no address given]"
CONTEXT_DOCUMENT_ROOT
"/srv/www/web9/htdocs/studienkolleg.rahn.education"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/srv/www/web9/htdocs/studienkolleg.rahn.education"
REMOTE_ADDR
"3.90.205.166"
SERVER_PORT
"443"
SERVER_ADDR
"148.251.236.230"
SERVER_NAME
"studienkolleg.rahn.education"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
HTTP_HOST
"studienkolleg.rahn.education"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
SSL_TLS_SNI
"studienkolleg.rahn.education"
HTTPS
"on"
SCRIPT_URI
"https://studienkolleg.rahn.education/getdownload/"
SCRIPT_URL
"/getdownload/"
REDIRECT_STATUS
"200"
REDIRECT_SSL_TLS_SNI
"studienkolleg.rahn.education"
REDIRECT_HTTPS
"on"
REDIRECT_TMPDIR
"/srv/www/web9/tmp"
REDIRECT_TMP
"/srv/www/web9/tmp"
REDIRECT_SCRIPT_URI
"https://studienkolleg.rahn.education/getdownload/"
REDIRECT_SCRIPT_URL
"/getdownload/"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711665468.1721
REQUEST_TIME
1711665468
argv
array:1 [
  0 => "f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
]
argc
1
Key Value
PHPRC
"/srv/www/web9/conf/php7/"
PWD
"/srv/www/web9/conf/php7"
TMP
"/srv/www/web9/tmp"
PHP_FCGI_MAX_REQUESTS
"5000"
TMPDIR
"/srv/www/web9/tmp"
SHLVL
"0"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
HTTP_CONNECTION
"close"
SCRIPT_NAME
"/index.php"
REQUEST_URI
"/getdownload/?f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
QUERY_STRING
"f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
REQUEST_METHOD
"GET"
SERVER_PROTOCOL
"HTTP/1.1"
GATEWAY_INTERFACE
"CGI/1.1"
REDIRECT_QUERY_STRING
"f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
REDIRECT_URL
"/getdownload/"
REMOTE_PORT
"47362"
SCRIPT_FILENAME
"/srv/www/web9/htdocs/studienkolleg.rahn.education/index.php"
SERVER_ADMIN
"[no address given]"
CONTEXT_DOCUMENT_ROOT
"/srv/www/web9/htdocs/studienkolleg.rahn.education"
CONTEXT_PREFIX
""
REQUEST_SCHEME
"https"
DOCUMENT_ROOT
"/srv/www/web9/htdocs/studienkolleg.rahn.education"
REMOTE_ADDR
"3.90.205.166"
SERVER_PORT
"443"
SERVER_ADDR
"148.251.236.230"
SERVER_NAME
"studienkolleg.rahn.education"
SERVER_SOFTWARE
"Apache"
SERVER_SIGNATURE
""
HTTP_HOST
"studienkolleg.rahn.education"
HTTP_USER_AGENT
"claudebot"
HTTP_ACCEPT
"*/*"
SSL_TLS_SNI
"studienkolleg.rahn.education"
HTTPS
"on"
SCRIPT_URI
"https://studienkolleg.rahn.education/getdownload/"
SCRIPT_URL
"/getdownload/"
REDIRECT_STATUS
"200"
REDIRECT_SSL_TLS_SNI
"studienkolleg.rahn.education"
REDIRECT_HTTPS
"on"
REDIRECT_TMPDIR
"/srv/www/web9/tmp"
REDIRECT_TMP
"/srv/www/web9/tmp"
REDIRECT_SCRIPT_URI
"https://studienkolleg.rahn.education/getdownload/"
REDIRECT_SCRIPT_URL
"/getdownload/"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711665468.1721
REQUEST_TIME
1711665468
argv
array:1 [
  0 => "f=Mi5fc2VtLl90Ml9mc2swMy0wMjFfc3R1bmRlbnBsYW5fMjIuMDIuXy1fMDUuMDMuMjEucGRm"
]
argc
1
0. Whoops\Handler\PrettyPageHandler