Project

General

Profile

Actions

Bug #99372

closed

TYPO3 11.5.20 - after upgrade, error message "get_class_methods(): Argument #1 ($object_or_class) must be an object or a valid class name, string given"

Added by Christian Hackl almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2022-12-14
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
11
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

After upgrade TYPO3 from 11.5.19 to 11.5.20 we got following error message at the frontend on pages with extension plugins on it:

"get_class_methods(): Argument #1 ($object_or_class) must be an object or a valid class name, string given"

I first thought it would be because maybe the plugin was registered / configured with a vendor, but no - no vendor specified.


Files

error-message.JPG (516 KB) error-message.JPG Christian Hackl, 2022-12-14 15:58
Actions #1

Updated by Christian Hackl almost 2 years ago

(1/1) TypeError
get_class_methods(): Argument #1 ($object_or_class) must be an object or a valid class name, string given

in .../typo3_src-11.5.20/typo3/sysext/extbase/Classes/Mvc/ExtbaseRequestParameters.php line 302
            // todo: this is nonsense! We can detect a non existing method in
            // todo: \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin, if necessary.
            // todo: At this point, we want to have a getter for a fixed value.
            $actionMethodName = $this->controllerActionName . 'Action';
            $classMethods = get_class_methods($controllerObjectName);
            if (is_array($classMethods)) {
                foreach ($classMethods as $existingMethodName) {
                    if (strtolower($existingMethodName) === strtolower($actionMethodName)) {
                        $this->controllerActionName = substr($existingMethodName, 0, -6);
at get_class_methods()
in .../typo3_src-11.5.20/typo3/sysext/extbase/Classes/Mvc/ExtbaseRequestParameters.php line 302
            // todo: this is nonsense! We can detect a non existing method in
            // todo: \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin, if necessary.
            // todo: At this point, we want to have a getter for a fixed value.
            $actionMethodName = $this->controllerActionName . 'Action';
            $classMethods = get_class_methods($controllerObjectName);
            if (is_array($classMethods)) {
                foreach ($classMethods as $existingMethodName) {
                    if (strtolower($existingMethodName) === strtolower($actionMethodName)) {
                        $this->controllerActionName = substr($existingMethodName, 0, -6);
at TYPO3\CMS\Extbase\Mvc\ExtbaseRequestParameters->getControllerActionName()
in .../typo3_src-11.5.20/typo3/sysext/extbase/Classes/Mvc/Request.php line 193
     * @todo: Should be "public function getControllerActionName(): string", blocked by testing-framework
     */
    public function getControllerActionName()
    {
        return $this->getExtbaseAttribute()->getControllerActionName();
    }

    /**
     * Return an instance with the specified controller action name set.
at TYPO3\CMS\Extbase\Mvc\Request->getControllerActionName()
in .../typo3_src-11.5.20/typo3/sysext/extbase/Classes/Core/Bootstrap.php line 272

    protected function isExtbaseRequestCacheable(RequestInterface $extbaseRequest): bool
    {
        $controllerClassName = $extbaseRequest->getControllerObjectName();
        $actionName = $extbaseRequest->getControllerActionName();
        $frameworkConfiguration = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
        $nonCacheableActions = $frameworkConfiguration['controllerConfiguration'][$controllerClassName]['nonCacheableActions'] ?? null;
        if (!is_array($nonCacheableActions)) {
            return true;
at TYPO3\CMS\Extbase\Core\Bootstrap->isExtbaseRequestCacheable()
in .../typo3_src-11.5.20/typo3/sysext/extbase/Classes/Core/Bootstrap.php line 154

    protected function handleFrontendRequest(ServerRequestInterface $request): string
    {
        $extbaseRequest = $this->extbaseRequestBuilder->build($request);
        if (!$this->isExtbaseRequestCacheable($extbaseRequest)) {
            if ($this->cObj->getUserObjectType() === ContentObjectRenderer::OBJECTTYPE_USER) {
                // ContentObjectRenderer::convertToUserIntObject() will recreate the object,
                // so we have to stop the request here before the action is actually called
                $this->cObj->convertToUserIntObject();
at TYPO3\CMS\Extbase\Core\Bootstrap->handleFrontendRequest()
in .../typo3_src-11.5.20/typo3/sysext/extbase/Classes/Core/Bootstrap.php line 148
    public function run(string $content, array $configuration, ?ServerRequestInterface $request = null): string
    {
        $request = $request ?? $GLOBALS['TYPO3_REQUEST'];
        $this->initialize($configuration);
        return $this->handleFrontendRequest($request);
    }

    protected function handleFrontendRequest(ServerRequestInterface $request): string
    {
at TYPO3\CMS\Extbase\Core\Bootstrap->run()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 5395
                        // Extensions should either drop the property altogether if they don't need current instance
                        // of ContentObjectRenderer, or set the property to protected and use the setter above.
                        $classObj->cObj = $this;
                    }
                    $content = $callable($content, $conf, $this->getRequest());
                } else {
                    $this->getTimeTracker()->setTSlogMessage('Method "' . $parts[1] . '" did not exist in class "' . $parts[0] . '"', LogLevel::ERROR);
                }
            } else {
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->callUserFunction()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/UserContentObject.php line 44
        if ($this->cObj->getUserObjectType() === false) {
            // Come here only if we are not called from $TSFE->processNonCacheableContentPartsAndSubstituteContentMarkers()!
            $this->cObj->setUserObjectType(ContentObjectRenderer::OBJECTTYPE_USER);
        }
        $tempContent = $this->cObj->callUserFunction($conf['userFunc'], $conf, '');
        if ($this->cObj->doConvertToUserIntObject) {
            $this->cObj->doConvertToUserIntObject = false;
            $content = $this->cObj->cObjGetSingle('USER_INT', $conf);
        } else {
at TYPO3\CMS\Frontend\ContentObject\UserContentObject->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 801
        }

        // Render content
        try {
            $content .= $contentObject->render($configuration);
        } catch (ContentRenderingException $exception) {
            // Content rendering Exceptions indicate a critical problem which should not be
            // caught e.g. when something went wrong with Exception handling itself
            throw $exception;
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 737
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
                $content .= $this->render($contentObject, $conf);
            }
        }
        if ($timeTracker->LR) {
            $timeTracker->pull($content);
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php line 197
        if ($timeTracker->LR) {
            $timeTracker->push('/f:cObject/', '<' . $typoscriptObjectPath);
        }
        $timeTracker->incStackPointer();
        $content = $contentObjectRenderer->cObjGetSingle($setup[$lastSegment], $setup[$lastSegment . '.'] ?? [], $typoscriptObjectPath);
        $timeTracker->decStackPointer();
        if ($timeTracker->LR) {
            $timeTracker->pull($content);
        }
at TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper::renderContentObject()
in .../typo3_src-11.5.20/typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php line 174
                'No Content Object definition found at TypoScript object path "' . $typoscriptObjectPath . '"',
                1540246570
            );
        }
        $content = self::renderContentObject($contentObjectRenderer, $setup, $typoscriptObjectPath, $lastSegment);
        if (!isset($GLOBALS['TSFE']) || !($GLOBALS['TSFE'] instanceof TypoScriptFrontendController)) {
            static::resetFrontendEnvironment();
        }
        return $content;
at TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper::renderStatic()
in /var/www/clients/client1/web18/web/html/typo3temp/var/cache/code/fluid_template/Standard_action_list_5e4f6ef29da02705b28b70774f25c326c79503b0.php line 66
$array11 = array (
);$arguments7['data'] = $renderingContext->getVariableProvider()->getByPath('data', $array11);
$arguments7['table'] = 'tt_content';
$renderChildrenClosure8 = ($arguments7['data'] !== null) ? function() use ($arguments7) { return $arguments7['data']; } : $renderChildrenClosure8;
$output6 .= TYPO3\CMS\Fluid\ViewHelpers\CObjectViewHelper::renderStatic($arguments7, $renderChildrenClosure8, $renderingContext);

$output6 .= '
    ';
return $output6;
at Standard_action_list_5e4f6ef29da02705b28b70774f25c326c79503b0->{closure}()
in .../typo3_src-11.5.20/vendor/typo3fluid/fluid/src/Core/ViewHelper/AbstractConditionViewHelper.php line 79
            if (isset($arguments['then'])) {
                return $arguments['then'];
            }
            if (isset($arguments['__thenClosure'])) {
                return $arguments['__thenClosure']();
            }
        } elseif (!empty($arguments['__elseClosures'])) {
            $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : [];
            return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext);
at TYPO3Fluid\Fluid\Core\ViewHelper\AbstractConditionViewHelper::renderStatic()
in /var/www/clients/client1/web18/web/html/typo3temp/var/cache/code/fluid_template/Standard_action_list_5e4f6ef29da02705b28b70774f25c326c79503b0.php line 91
     $renderingContext
    );
$arguments1['__thenClosure'] = $renderChildrenClosure2;

$output0 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments1, $renderChildrenClosure2, $renderingContext);

$output0 .= '

';
at Standard_action_list_5e4f6ef29da02705b28b70774f25c326c79503b0->section_62bce9422ff2d14f69ab80a154510232fc8a9afd()
in .../typo3_src-11.5.20/vendor/typo3fluid/fluid/src/View/AbstractTemplateView.php line 258
                    new InvalidSectionException('Section "' . $sectionName . '" does not exist.')
                );
            }
            $this->startRendering($renderingTypeOnNextLevel, $parsedTemplate, $renderingContext);
            $output = $parsedTemplate->$methodNameOfSection($renderingContext);
            $this->stopRendering();
        } else {
            $sections = $parsedTemplate->getVariableContainer()->get('1457379500_sections');
            if (!isset($sections[$sectionName])) {
at TYPO3Fluid\Fluid\View\AbstractTemplateView->renderSection()
in .../typo3_src-11.5.20/vendor/typo3fluid/fluid/src/ViewHelpers/RenderViewHelper.php line 171
            $content = (new $delegate())->render($renderingContext);
        } elseif ($partial !== null) {
            $content = $view->renderPartial($partial, $section, $variables, $optional);
        } elseif ($section !== null) {
            $content = $view->renderSection($section, $variables, $optional);
        } elseif (!$optional) {
            throw new \InvalidArgumentException('ViewHelper f:render called without either argument section, partial, renderable or delegate and optional flag is false');
        }
        // Replace empty content with default value. If default is
at TYPO3Fluid\Fluid\ViewHelpers\RenderViewHelper::renderStatic()
in /var/www/clients/client1/web18/web/html/typo3temp/var/cache/code/fluid_template/layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa.php line 3135
     ),
     $renderingContext
    );

$output18 .= TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper::renderStatic($arguments72, $renderChildrenClosure73, $renderingContext);

$output18 .= '
                        ';
// Rendering ViewHelper TYPO3\CMS\Fluid\ViewHelpers\RenderViewHelper
at layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa->{closure}()
in .../typo3_src-11.5.20/vendor/typo3fluid/fluid/src/Core/ViewHelper/AbstractConditionViewHelper.php line 79
            if (isset($arguments['then'])) {
                return $arguments['then'];
            }
            if (isset($arguments['__thenClosure'])) {
                return $arguments['__thenClosure']();
            }
        } elseif (!empty($arguments['__elseClosures'])) {
            $elseIfClosures = isset($arguments['__elseifClosures']) ? $arguments['__elseifClosures'] : [];
            return static::evaluateElseClosures($arguments['__elseClosures'], $elseIfClosures, $renderingContext);
at TYPO3Fluid\Fluid\Core\ViewHelper\AbstractConditionViewHelper::renderStatic()
in /var/www/clients/client1/web18/web/html/typo3temp/var/cache/code/fluid_template/layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa.php line 3654
                ';
return $output92;
};

$output15 .= TYPO3Fluid\Fluid\ViewHelpers\IfViewHelper::renderStatic($arguments16, $renderChildrenClosure17, $renderingContext);

$output15 .= '
        ';
return $output15;
at layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa->{closure}()
in /var/www/clients/client1/web18/web/html/typo3temp/var/cache/code/fluid_template/layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa.php line 3659

$output15 .= '
        ';
return $output15;
});
}
}, array($arguments1));

$output0 .= '
at layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa->{closure}()
in /var/www/clients/client1/web18/web/html/typo3temp/var/cache/code/fluid_template/layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa.php line 3661
        ';
return $output15;
});
}
}, array($arguments1));

$output0 .= '

';
at layout_Default_html_4e037211463b3a29ae5c1b006b6d2fb8944bfcfa->render()
in .../typo3_src-11.5.20/vendor/typo3fluid/fluid/src/View/AbstractTemplateView.php line 200
            } catch (PassthroughSourceException $error) {
                return $error->getSource();
            }
            $this->startRendering(self::RENDERING_LAYOUT, $parsedTemplate, $this->baseRenderingContext);
            $output = $parsedLayout->render($this->baseRenderingContext);
            $this->stopRendering();
        }

        return $output;
at TYPO3Fluid\Fluid\View\AbstractTemplateView->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php line 340
     * @return string
     */
    protected function renderFluidView()
    {
        return $this->view->render();
    }

    /**
     * Apply standard wrap to content
at TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject->renderFluidView()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php line 106

        $this->view->assignMultiple($variables);

        $this->renderFluidTemplateAssetsIntoPageRenderer();
        $content = $this->renderFluidView();
        $content = $this->applyStandardWrapToRenderedContent($content, $conf);

        $this->view = $parentView;
        return $content;
at TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 801
        }

        // Render content
        try {
            $content .= $contentObject->render($configuration);
        } catch (ContentRenderingException $exception) {
            // Content rendering Exceptions indicate a critical problem which should not be
            // caught e.g. when something went wrong with Exception handling itself
            throw $exception;
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 737
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
                $content .= $this->render($contentObject, $conf);
            }
        }
        if ($timeTracker->LR) {
            $timeTracker->pull($content);
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 732
            [$name, $conf] = $cF->getVal($key, $this->getTypoScriptFrontendController()->tmpl->setup);
            $conf = array_replace_recursive($conf, $confOverride);
            // Getting the cObject
            $timeTracker->incStackPointer();
            $content .= $this->cObjGetSingle($name, $conf, $key);
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/CaseContentObject.php line 45
        // If no "default" property is available, then an empty string is returned
        if ($key === 'default' && !isset($conf['default'])) {
            $theValue = '';
        } else {
            $theValue = $this->cObj->cObjGetSingle($conf[$key], $conf[$key . '.'] ?? [], $key);
        }
        if (isset($conf['stdWrap.'])) {
            $theValue = $this->cObj->stdWrap($theValue, $conf['stdWrap.']);
        }
at TYPO3\CMS\Frontend\ContentObject\CaseContentObject->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 801
        }

        // Render content
        try {
            $content .= $contentObject->render($configuration);
        } catch (ContentRenderingException $exception) {
            // Content rendering Exceptions indicate a critical problem which should not be
            // caught e.g. when something went wrong with Exception handling itself
            throw $exception;
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 737
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
                $content .= $this->render($contentObject, $conf);
            }
        }
        if ($timeTracker->LR) {
            $timeTracker->pull($content);
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 732
            [$name, $conf] = $cF->getVal($key, $this->getTypoScriptFrontendController()->tmpl->setup);
            $conf = array_replace_recursive($conf, $confOverride);
            // Getting the cObject
            $timeTracker->incStackPointer();
            $content .= $this->cObjGetSingle($name, $conf, $key);
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentContentObject.php line 96
                        $cObj->parentRecordNumber = $this->cObj->currentRecordNumber;
                        $frontendController->currentRecord = $registerField;
                        $this->cObj->lastChanged($row['tstamp'] ?? 0);
                        $cObj->start($row, $conf['table'], $this->request);
                        $tmpValue = $cObj->cObjGetSingle($renderObjName, $renderObjConf, $renderObjKey);
                        $cobjValue .= $tmpValue;
                    }
                }
            }
at TYPO3\CMS\Frontend\ContentObject\ContentContentObject->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 801
        }

        // Render content
        try {
            $content .= $contentObject->render($configuration);
        } catch (ContentRenderingException $exception) {
            // Content rendering Exceptions indicate a critical problem which should not be
            // caught e.g. when something went wrong with Exception handling itself
            throw $exception;
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 737
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
                $content .= $this->render($contentObject, $conf);
            }
        }
        if ($timeTracker->LR) {
            $timeTracker->pull($content);
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 732
            [$name, $conf] = $cF->getVal($key, $this->getTypoScriptFrontendController()->tmpl->setup);
            $conf = array_replace_recursive($conf, $confOverride);
            // Getting the cObject
            $timeTracker->incStackPointer();
            $content .= $this->cObjGetSingle($name, $conf, $key);
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php line 305
                continue;
            }
            if (!in_array($variableName, $reservedVariables)) {
                $cObjConf = $variablesToProcess[$variableName . '.'] ?? [];
                $variables[$variableName] = $this->cObj->cObjGetSingle($cObjType, $cObjConf, 'variables.' . $variableName);
            } else {
                throw new \InvalidArgumentException(
                    'Cannot use reserved name "' . $variableName . '" as variable name in FLUIDTEMPLATE.',
                    1288095720
at TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject->getContentObjectVariables()
in /var/www/clients/client1/web18/web/html/typo3conf/ext/mask/Classes/Fluid/FluidTemplateContentObject.php line 31
     */
    protected function getContentObjectVariables(array $conf = []): array
    {
        // Call Parent Function to maintain core functions
        $variables = parent::getContentObjectVariables($conf);

        // Make some enhancements to data of pages
        if ($this->cObj->getCurrentTable() === 'pages') {
            $data = $variables['data'];
at MASK\Mask\Fluid\FluidTemplateContentObject->getContentObjectVariables()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php line 100
        $this->setLayoutRootPath($conf);
        $this->setPartialRootPath($conf);
        $this->setExtbaseVariables($conf);
        $this->assignSettings($conf);
        $variables = $this->getContentObjectVariables($conf);
        $variables = $this->contentDataProcessor->process($this->cObj, $conf, $variables);

        $this->view->assignMultiple($variables);

at TYPO3\CMS\Frontend\ContentObject\FluidTemplateContentObject->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 801
        }

        // Render content
        try {
            $content .= $contentObject->render($configuration);
        } catch (ContentRenderingException $exception) {
            // Content rendering Exceptions indicate a critical problem which should not be
            // caught e.g. when something went wrong with Exception handling itself
            throw $exception;
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->render()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 737
            $timeTracker->decStackPointer();
        } else {
            $contentObject = $this->getContentObject($name);
            if ($contentObject) {
                $content .= $this->render($contentObject, $conf);
            }
        }
        if ($timeTracker->LR) {
            $timeTracker->pull($content);
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 699
        foreach ($sKeyArray as $theKey) {
            $theValue = $setup[$theKey];
            if ((int)$theKey && !str_contains($theKey, '.')) {
                $conf = $setup[$theKey . '.'] ?? [];
                $content .= $this->cObjGetSingle($theValue, $conf, $addKey . $theKey);
            }
        }
        return $content;
    }
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGet()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Http/RequestHandler.php line 223
     * @return string
     */
    protected function generatePageBodyContent(TypoScriptFrontendController $controller): string
    {
        $pageContent = $controller->cObj->cObjGet($controller->pSetup) ?: '';
        if ($controller->pSetup['wrap'] ?? false) {
            $pageContent = $controller->cObj->wrap($pageContent, $controller->pSetup['wrap']);
        }
        if ($controller->pSetup['stdWrap.'] ?? false) {
at TYPO3\CMS\Frontend\Http\RequestHandler->generatePageBodyContent()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Http/RequestHandler.php line 189
    protected function generatePageContent(TypoScriptFrontendController $controller, ServerRequestInterface $request): string
    {
        // Generate the main content between the <body> tags
        // This has to be done first, as some additional TSFE-related code could have been written
        $pageContent = $this->generatePageBodyContent($controller);
        // If 'disableAllHeaderCode' is set, all the pageRenderer settings are not evaluated
        if ($controller->config['config']['disableAllHeaderCode'] ?? false) {
            return $pageContent;
        }
at TYPO3\CMS\Frontend\Http\RequestHandler->generatePageContent()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Http/RequestHandler.php line 141
            // Content generation
            $this->timeTracker->incStackPointer();
            $this->timeTracker->push($controller->sPre, 'PAGE');

            $controller->content = $this->generatePageContent($controller, $request);

            $this->timeTracker->pull($this->timeTracker->LR ? $controller->content : '');
            $this->timeTracker->decStackPointer();

at TYPO3\CMS\Frontend\Http\RequestHandler->handle()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Middleware/ResponsePropagation.php line 34
{
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        try {
            $response = $handler->handle($request);
        } catch (PropagateResponseException $e) {
            $response = $e->getResponse();
        }

at TYPO3\CMS\Core\Middleware\ResponsePropagation->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in /var/www/clients/client1/web18/web/html/typo3conf/ext/hh_ext_cookie_consent/Classes/Middleware/CookieConsentMiddleware.php line 38
     * @param RequestHandlerInterface $handler
     * @return ResponseInterface
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface {
        $response = $handler->handle($request);
        $this->rootPageId = $request->getAttribute('site')->getRootPageId();

        $context = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);
        $this->languageUid = $context->getPropertyFromAspect('language', 'id');
at HauerHeinrich\HhExtCookieConsent\Middleware\CookieConsentMiddleware->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/OutputCompression.php line 48
        // Throw away all output that may have happened during bootstrapping by weird extensions
        ob_clean();
        // Initialize output compression if configured
        $this->initializeOutputCompression();
        return $handler->handle($request);
    }

    /**
     * Initialize output compression if configured
at TYPO3\CMS\Frontend\Middleware\OutputCompression->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/ContentLengthResponseHeader.php line 45
     * @return ResponseInterface
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $response = $handler->handle($request);
        if ($GLOBALS['TSFE'] instanceof TypoScriptFrontendController) {
            if (
                (!isset($GLOBALS['TSFE']->config['config']['enableContentLengthHeader']) || $GLOBALS['TSFE']->config['config']['enableContentLengthHeader'])
                && !$GLOBALS['TSFE']->isBackendUserLoggedIn() && !($GLOBALS['TYPO3_CONF_VARS']['FE']['debug'] ?? false)
at TYPO3\CMS\Frontend\Middleware\ContentLengthResponseHeader->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/ShortcutAndMountPointRedirect.php line 79
                );
            }
        }

        return $handler->handle($request);
    }

    protected function getRedirectUri(ServerRequestInterface $request): ?string
    {
at TYPO3\CMS\Frontend\Middleware\ShortcutAndMountPointRedirect->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php line 78
                $this->convertCharsetRecursivelyToUtf8($parsedBody, $controller->metaCharset);
                $request = $request->withParsedBody($parsedBody);
            }
        }
        $response = $handler->handle($request);

        /**
         * Release TSFE locks. They have been acquired in the above call to controller->getFromCache().
         * TSFE locks are usually released by the RequestHandler 'final' middleware.
at TYPO3\CMS\Frontend\Middleware\PrepareTypoScriptFrontendRendering->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/TypoScriptFrontendInitialization.php line 104
        // Make TSFE globally available
        // @todo deprecate $GLOBALS['TSFE'] once TSFE is retrieved from the
        //       PSR-7 request attribute frontend.controller throughout TYPO3 core
        $GLOBALS['TSFE'] = $controller;
        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\TypoScriptFrontendInitialization->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/PageArgumentValidator.php line 132
            }
        }

        $request = $request->withAttribute('noCache', $this->disableCache);
        return $handler->handle($request);
    }

    /**
     * Filters out the arguments that are necessary for calculating cHash
at TYPO3\CMS\Frontend\Middleware\PageArgumentValidator->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/PreviewSimulator.php line 66
            $previewAspect = GeneralUtility::makeInstance(PreviewAspect::class, $isPreview);
            $this->context->setAspect('frontend.preview', $previewAspect);
        }

        return $handler->handle($request);
    }

    /**
     * Simulate dates for preview functionality
at TYPO3\CMS\Frontend\Middleware\PreviewSimulator->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/PageResolver.php line 106
        // merge the PageArguments with the request query parameters
        $queryParams = array_replace_recursive($request->getQueryParams(), $pageArguments->getArguments());
        $request = $request->withQueryParams($queryParams);

        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\PageResolver->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/StaticRouteResolver.php line 80

                return new HtmlResponse($content, 200, ['Content-Type' => $contentType]);
            }
        }
        return $handler->handle($request);
    }

    /**
     * Find the proper configuration for the static route in the static route configuration. Mainly:
at TYPO3\CMS\Frontend\Middleware\StaticRouteResolver->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/SiteBaseRedirectResolver.php line 94
                $uri = $requestedUri->withPath(rtrim($requestedUri->getPath(), '/'));
                return new RedirectResponse($uri, 307);
            }
        }
        return $handler->handle($request);
    }

    /**
     * Checks if the language is allowed in Frontend, if not, check if there is valid BE user
at TYPO3\CMS\Frontend\Middleware\SiteBaseRedirectResolver->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/redirects/Classes/Http/Middleware/RedirectHandler.php line 85
                return $response;
            }
        }

        return $handler->handle($request);
    }

    protected function buildRedirectResponse(UriInterface $uri, array $redirectRecord): ResponseInterface
    {
at TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/FrontendUserAuthenticator.php line 96
        if ($this->context->getAspect('frontend.user')->isLoggedIn() && $rateLimiter) {
            $rateLimiter->reset();
        }

        $response = $handler->handle($request);

        // Store session data for fe_users if it still exists
        if ($frontendUser instanceof FrontendUserAuthentication) {
            $frontendUser->storeSessionData();
at TYPO3\CMS\Frontend\Middleware\FrontendUserAuthenticator->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php line 78
            Bootstrap::loadExtTables();
            $this->setBackendUserAspect($GLOBALS['BE_USER']);
        }

        $response = $handler->handle($request);

        // If, when building the response, the user is still available, then ensure that the headers are sent properly
        if ($this->context->getAspect('backend.user')->isLoggedIn()) {
            return $this->applyHeadersToResponse($response);
at TYPO3\CMS\Frontend\Middleware\BackendUserAuthenticator->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/MaintenanceMode.php line 55
        ) {
            return GeneralUtility::makeInstance(ErrorController::class)->unavailableAction($request, 'This page is temporarily unavailable.');
        }
        // Continue the regular stack if no maintenance mode is active
        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\MaintenanceMode->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/SiteResolver.php line 65
        $request = $request->withAttribute('routing', $routeResult);
        if ($routeResult->getLanguage() instanceof SiteLanguage) {
            Locales::setSystemLocaleFromSiteLanguage($routeResult->getLanguage());
        }
        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\SiteResolver->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/EidHandler.php line 64
    {
        $eID = $request->getParsedBody()['eID'] ?? $request->getQueryParams()['eID'] ?? null;

        if ($eID === null) {
            return $handler->handle($request);
        }

        // Remove any output produced until now
        ob_clean();
at TYPO3\CMS\Frontend\Middleware\EidHandler->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 45
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $request = $request->withAttribute('normalizedParams', NormalizedParams::createFromRequest($request));
        return $handler->handle($request);
    }
}
at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Middleware/VerifyHostHeader.php line 55
                1396795884
            );
        }

        return $handler->handle($request);
    }

    /**
     * Checks if the provided host header value matches the trusted hosts pattern.
at TYPO3\CMS\Core\Middleware\VerifyHostHeader->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Middleware/TimeTrackerInitialization.php line 58
        $this->timeTracker->setEnabled($timeTrackingEnabled);
        $this->timeTracker->start(microtime(true));
        $this->timeTracker->push('');

        $response = $handler->handle($request);

        // Finish time tracking
        $this->timeTracker->pull();
        $this->timeTracker->finish();
at TYPO3\CMS\Frontend\Middleware\TimeTrackerInitialization->process()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 172

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at Psr\Http\Server\RequestHandlerInterface@anonymous.../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:138$459->handle()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 78
     * @return ResponseInterface
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        return $this->tip->handle($request);
    }

    /**
     * Seed the middleware stack with the inner request handler
at TYPO3\CMS\Core\Http\MiddlewareDispatcher->handle()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/AbstractApplication.php line 86
     */
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        try {
            $response = $this->requestHandler->handle($request);
        } catch (ImmediateResponseException $exception) {
            $response = $exception->getResponse();
        }
        return $response;
at TYPO3\CMS\Core\Http\AbstractApplication->handle()
in .../typo3_src-11.5.20/typo3/sysext/frontend/Classes/Http/Application.php line 69
        // Create new request object having applicationType "I am a frontend request" attribute.
        $request = $request->withAttribute('applicationType', SystemEnvironmentBuilder::REQUESTTYPE_FE);

        $this->initializeContext();
        return parent::handle($request);
    }

    /**
     * Create a PSR-7 Response that redirects to the install tool
at TYPO3\CMS\Frontend\Http\Application->handle()
in .../typo3_src-11.5.20/typo3/sysext/core/Classes/Http/AbstractApplication.php line 100
     * @param callable $execute Deprecated, will be removed in TYPO3 v12.0
     */
    final public function run(callable $execute = null)
    {
        $response = $this->handle(ServerRequestFactory::fromGlobals());
        if ($execute !== null) {
            trigger_error('Custom execution of Application code will be removed in TYPO3 v12.0, use PSR-15 Middlewares instead.', E_USER_DEPRECATED);
            $execute();
        }
at TYPO3\CMS\Core\Http\AbstractApplication->run()
in .../typo3_src-11.5.20/index.php line 20
// Set up the application for the frontend
call_user_func(static function () {
    $classLoader = require __DIR__.'/vendor/autoload.php';
    \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE);
    \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run();
});
at {closure}()
in .../typo3_src-11.5.20/index.php line 21
call_user_func(static function () {
    $classLoader = require __DIR__.'/vendor/autoload.php';
    \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::run(0, \TYPO3\CMS\Core\Core\SystemEnvironmentBuilder::REQUESTTYPE_FE);
    \TYPO3\CMS\Core\Core\Bootstrap::init($classLoader)->get(\TYPO3\CMS\Frontend\Http\Application::class)->run();
});
Actions #2

Updated by Oliver Hader almost 2 years ago

  • Status changed from New to Needs Feedback

What's the value of $controllerObjectName when this error occurs? It might be related to class-autoloading or similar...

Actions #3

Updated by Christian Hackl almost 2 years ago

@Oliver Hader
i am still trying to understand the problem outside the live/production server... still working on it...
Thank you

Actions #4

Updated by Christian Hackl almost 2 years ago

@Oliver Hader i think this can be closed cause i can't reproduce this behavior locally and with the current TYPO3 Version 11.5.21 this error is gone.
I can only reproduce it with the production environment and TYPO3 11.5.20...

Thank you! :)

Actions #5

Updated by Oliver Hader almost 2 years ago

  • Status changed from Needs Feedback to Closed

@Christian Hackl Thanks for your feedback!

Actions

Also available in: Atom PDF