Whoops, looks like something went wrong.

Get help in the TYPO3 Documentation

If you need help solving this exception, you can have a look at the TYPO3 Documentation. There you can find solutions provided by the TYPO3 community. Once you have found a solution to the problem, help others by contributing to the documentation page.

Find a solution for this exception in the TYPO3 Documentation.

(1/1) #1476107295 TYPO3\CMS\Core\Error\Exception

PHP Warning: Invalid argument supplied for foreach() in /var/www/clients/client6/web12/web/typo3conf/ext/ahstweather/Classes/Controller/WeatherController.php line 108

in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Error/ErrorHandler.php line 128
            E_DEPRECATED => 'PHP Runtime Deprecation Notice'
        ];
        $message = $errorLevels[$errorLevel] . ': ' . $errorMessage . ' in ' . $errorFile . ' line ' . $errorLine;
        if ($errorLevel & $this->exceptionalErrors) {
            throw new Exception($message, 1476107295);
        }
        switch ($errorLevel) {
            case E_USER_ERROR:
            case E_RECOVERABLE_ERROR:
at TYPO3\CMS\Core\Error\ErrorHandler->handleError()
in /var/www/clients/client6/web12/web/typo3conf/ext/ahstweather/Classes/Controller/WeatherController.php line 108
            $sData=$this->xml->today->stationData;
        else
            $sData=$this->xml->tomorrow->stationData;
        $mapData=array();
        foreach($sData as $v) {
            $mapData[(string)$v->Id[0]] = array(
                'icon'=>$v->symbol->code[0],
                'icon_alt'=> $v->symbol->description[0],
                'temp_min' => $v->temperature->min[0],
at Ahweb\Ahstweather\Controller\WeatherController->renderMap()
in /var/www/clients/client6/web12/web/typo3conf/ext/ahstweather/Classes/Controller/WeatherController.php line 154
                 'temp_1000' => (string)$this->xml->mountainToday->temp1000[0],
                 'sunrise' => (string)$this->xml->mountainToday->sunRise[0],
                 'sunset' =>(string)$this->xml->mountainToday->sunSet[0],
             ),
            'mapData' => $this->renderMap(1)
            );
        if(isset($this->xml->tomorrow)){
            $wetter[1]=array(
                'date' => strftime($this->settings['dateFormat'],strtotime((string)$this->xml->tomorrow->date[0])),
at Ahweb\Ahstweather\Controller\WeatherController->detailsAction()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php line 318
        }
        $validationResult = $this->arguments->validate();
        if (!$validationResult->hasErrors()) {
            $this->emitBeforeCallActionMethodSignal($preparedArguments);
            $actionResult = $this->{$this->actionMethodName}(...$preparedArguments);
        } else {
            $actionResult = $this->{$this->errorMethodName}();
        }

at TYPO3\CMS\Extbase\Mvc\Controller\ActionController->callActionMethod()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php line 167
        $this->view = $this->resolveView();
        if ($this->view !== null) {
            $this->initializeView($this->view);
        }
        $this->callActionMethod();
        $this->renderAssetsForRequest($request);
    }

    /**
at TYPO3\CMS\Extbase\Mvc\Controller\ActionController->processRequest()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/extbase/Classes/Mvc/Dispatcher.php line 73
                throw new \TYPO3\CMS\Extbase\Mvc\Exception\InfiniteLoopException('Could not ultimately dispatch the request after ' . $dispatchLoopCount . ' iterations. Most probably, a @' . \TYPO3\CMS\Extbase\Annotation\IgnoreValidation::class . ' annotation is missing on re-displaying a form with validation errors.', 1217839467);
            }
            $controller = $this->resolveController($request);
            try {
                $controller->processRequest($request, $response);
            } catch (\TYPO3\CMS\Extbase\Mvc\Exception\StopActionException $ignoredException) {
            }
        }
        $this->emitAfterRequestDispatchSignal($request, $response);
at TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/extbase/Classes/Mvc/Web/FrontendRequestHandler.php line 92
        }

        /** @var \TYPO3\CMS\Extbase\Mvc\ResponseInterface $response */
        $response = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\Web\Response::class);
        $this->dispatcher->dispatch($request, $response);
        return $response;
    }

    /**
at TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler->handleRequest()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/extbase/Classes/Core/Bootstrap.php line 172
        /** @var \TYPO3\CMS\Extbase\Mvc\RequestHandlerResolver $requestHandlerResolver */
        $requestHandlerResolver = $this->objectManager->get(\TYPO3\CMS\Extbase\Mvc\RequestHandlerResolver::class);
        $requestHandler = $requestHandlerResolver->resolveRequestHandler();

        $response = $requestHandler->handleRequest();
        // If response is NULL after handling the request we need to stop
        // This happens for instance, when a USER object was converted to a USER_INT
        // @see TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler::handleRequest()
        if ($response === null) {
at TYPO3\CMS\Extbase\Core\Bootstrap->handleRequest()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/extbase/Classes/Core/Bootstrap.php line 159
     */
    public function run($content, $configuration)
    {
        $this->initialize($configuration);
        return $this->handleRequest();
    }

    /**
     * @throws \TYPO3\CMS\Extbase\Mvc\Exception\CommandException Is thrown if the response object defined an exit code > 0
at TYPO3\CMS\Extbase\Core\Bootstrap->run()
at call_user_func_array()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 6015
                        $classObj,
                        $parts[1]
                    ], [
                        $content,
                        $conf
                    ]);
                } else {
                    $this->getTimeTracker()->setTSlogMessage('Method "' . $parts[1] . '" did not exist in class "' . $parts[0] . '"', 3);
                }
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->callUserFunction()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/ContentObject/UserContentObject.php line 41
        if ($this->cObj->getUserObjectType() === false) {
            // Come here only if we are not called from $TSFE->INTincScript_process()!
            $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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 821
        }

        // 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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php line 737
                }
                if (!$hooked) {
                    $contentObject = $this->getContentObject($name);
                    if ($contentObject) {
                        $content .= $this->render($contentObject, $conf);
                    } else {
                        // Call hook functions for extra processing
                        if ($name) {
                            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClassDefault'] ?? [] as $className) {
at TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->cObjGetSingle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php line 3854
                        case 'COA':
                            $incContent = $INTiS_cObj->cObjGetSingle('COA', $INTiS_config[$INTiS_key]['conf']);
                            break;
                        case 'FUNC':
                            $incContent = $INTiS_cObj->cObjGetSingle('USER', $INTiS_config[$INTiS_key]['conf']);
                            break;
                        case 'POSTUSERFUNC':
                            $incContent = $INTiS_cObj->callUserFunction($INTiS_config[$INTiS_key]['postUserFunc'], $INTiS_config[$INTiS_key]['conf'], $INTiS_config[$INTiS_key]['content']);
                            break;
at TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript_process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php line 3815
    protected function recursivelyReplaceIntPlaceholdersInContent()
    {
        do {
            $INTiS_config = $this->config['INTincScript'];
            $this->INTincScript_process($INTiS_config);
            // Check if there were new items added to INTincScript during the previous execution:
            // array_diff_assoc throws notices if values are arrays but not strings. We suppress this here.
            $INTiS_config = @array_diff_assoc($this->config['INTincScript'], $INTiS_config);
            $reprocess = count($INTiS_config) > 0;
at TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->recursivelyReplaceIntPlaceholdersInContent()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php line 3782
            $this->pageRenderer = $pageRenderer;
            GeneralUtility::setSingletonInstance(PageRenderer::class, $pageRenderer);
        }

        $this->recursivelyReplaceIntPlaceholdersInContent();
        $this->getTimeTracker()->push('Substitute header section');
        $this->INTincScript_loadJSCode();
        $this->generatePageTitle();

at TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Http/RequestHandler.php line 187
                // When page was generated, this was already called. Avoid calling this twice.
                $controller->preparePageContentGeneration($request);
            }
            $this->timeTracker->push('Non-cached objects');
            $controller->INTincScript();
            $this->timeTracker->pull();
        }

        // Create a Response object when sending content
at TYPO3\CMS\Frontend\Http\RequestHandler->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/OutputCompression.php line 46
        // 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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/ContentLengthResponseHeader.php line 45
     * @return ResponseInterface
     */
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        $response = $handler->handle($request);
        if (
            !($response instanceof NullResponse)
            && $GLOBALS['TSFE'] instanceof TypoScriptFrontendController
            && $GLOBALS['TSFE']->isOutputting()) {
at TYPO3\CMS\Frontend\Middleware\ContentLengthResponseHeader->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/ShortcutAndMountPointRedirect.php line 65
                return new RedirectResponse($externalUrl, 303);
            }
        }

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

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

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/PrepareTypoScriptFrontendRendering.php line 118
                GeneralUtility::makeInstance($className)->checkDataSubmission($this->controller);
            }
        }

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

    /**
     * Small helper function to convert charsets for arrays to UTF-8
at TYPO3\CMS\Frontend\Middleware\PrepareTypoScriptFrontendRendering->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/PageArgumentValidator.php line 99
                    ['code' => PageAccessFailureReasons::CACHEHASH_COMPARISON_FAILED]
                );
            }
        }
        return $handler->handle($request);
    }

    /**
     * Calculates a hash string based on additional parameters in the url.
at TYPO3\CMS\Frontend\Middleware\PageArgumentValidator->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/MaintenanceMode.php line 53
        ) {
            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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/PageResolver.php line 171
            }
            $this->controller->determineId();
        }

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

    /**
     * Provides ways to bypass the '?id=[xxx]&type=[xx]' format, using either PATH_INFO or Server Rewrites
at TYPO3\CMS\Frontend\Middleware\PageResolver->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/StaticRouteResolver.php line 62

                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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/SiteBaseRedirectResolver.php line 86
                $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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/PreviewSimulator.php line 62
            $showHiddenRecords = ($this->context->hasAspect('visibility') ? $this->context->getAspect('visibility')->includeHidden() : false);
            $GLOBALS['TSFE']->fePreview = ($simulatingDate || $simulatingGroup || $showHiddenRecords);
        }

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

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

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/SiteResolver.php line 68
        // At this point, we later get further route modifiers
        // for bw-compat we update $GLOBALS[TYPO3_REQUEST] to be used later in TSFE.
        $GLOBALS['TYPO3_REQUEST'] = $request;

        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\SiteResolver->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php line 95
            Bootstrap::loadExtTables();
            $this->setBackendUserAspect(GeneralUtility::makeInstance(Context::class), $GLOBALS['BE_USER']);
        }

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

    /**
     * Creates the backend user object and returns it.
at TYPO3\CMS\Frontend\Middleware\BackendUserAuthenticator->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/FrontendUserAuthenticator.php line 79

        // Register the frontend user as aspect
        $this->setFrontendUserAspect(GeneralUtility::makeInstance(Context::class), $frontendUser);

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

    /**
     * It's possible to transfer a frontend user session via a GET/POST parameter 'FE_SESSION_KEY'.
at TYPO3\CMS\Frontend\Middleware\FrontendUserAuthenticator->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/TypoScriptFrontendInitialization.php line 90
                GeneralUtility::callUserFunction($_funcRef, $_params, $GLOBALS['TSFE']);
            }
        }

        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\TypoScriptFrontendInitialization->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/EidHandler.php line 50
    {
        $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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/PreprocessRequestHook.php line 57
                $hookParameters = [];
                GeneralUtility::callUserFunction($hookFunction, $hookParameters, $hookParameters);
            }
        }
        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\PreprocessRequestHook->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 58
        // refactored to have ServerRequest object available where it is needed. This global will be
        // deprecated then and removed.
        $GLOBALS['TYPO3_REQUEST'] = $request;

        return $handler->handle($request);
    }
}
at TYPO3\CMS\Core\Middleware\NormalizedParamsAttribute->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Middleware/TimeTrackerInitialization.php line 49
        );
        $timeTracker->start();
        $timeTracker->push('');

        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\TimeTrackerInitialization->process()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 138

                if (!$middleware instanceof MiddlewareInterface) {
                    throw new \InvalidArgumentException(get_class($middleware) . ' does not implement ' . MiddlewareInterface::class, 1516821342);
                }
                return $middleware->process($request, $this->next);
            }
        };
    }
}
at class@anonymous/usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:121$b2->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 67
     * @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 /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/AbstractApplication.php line 108
    {
        $requestHandler = GeneralUtility::makeInstance($this->requestHandler);
        $dispatcher = $this->createMiddlewareDispatcher($requestHandler);

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

    /**
     * Set up the application and shut it down afterwards
at TYPO3\CMS\Core\Http\AbstractApplication->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/frontend/Classes/Http/Application.php line 69
        if (!$this->checkIfEssentialConfigurationExists()) {
            return $this->installToolRedirect();
        }
        $this->initializeContext();
        return parent::handle($request);
    }

    /**
     * Check if LocalConfiguration.php and PackageStates.php exist
at TYPO3\CMS\Frontend\Http\Application->handle()
in /usr/local/typo3/typo3_src-9.5.31/typo3/sysext/core/Classes/Http/AbstractApplication.php line 120
    final public function run(callable $execute = null)
    {
        try {
            $response = $this->handle(
                \TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals()
            );
            if ($execute !== null) {
                call_user_func($execute);
            }
at TYPO3\CMS\Core\Http\AbstractApplication->run()
in /usr/local/typo3/typo3_src-9.5.31/index.php line 24
// Set up the application for the frontend
call_user_func(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 /usr/local/typo3/typo3_src-9.5.31/index.php line 25
call_user_func(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();
});