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) #1522826413 InvalidArgumentException

PageContentErrorHandler needs to have a proper link set.

in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Error/PageErrorHandler/PageContentErrorHandler.php line 56
    public function __construct(int $statusCode, array $configuration)
    {
        $this->statusCode = $statusCode;
        if (empty($configuration['errorContentSource'])) {
            throw new \InvalidArgumentException('PageContentErrorHandler needs to have a proper link set.', 1522826413);
        }
        $this->errorHandlerConfiguration = $configuration;

        // @todo Convert this to DI once this class can be injected properly.
at TYPO3\CMS\Core\Error\PageErrorHandler\PageContentErrorHandler->__construct(404, array('errorHandler' => 'Page'))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Utility/GeneralUtility.php line 2986
            return self::$container->get($className);
        }

        // Create new instance and call constructor with parameters
        $instance = new $finalClassName(...$constructorArguments);
        // Register new singleton instance, but only if it is not a known PSR-11 container service
        if ($instance instanceof SingletonInterface && !(self::$container !== null && self::$container->has($className))) {
            self::$singletonInstances[$finalClassName] = $instance;
        }
at TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Error\\PageErrorHandler\\PageContentErrorHandler', 404, array('errorHandler' => 'Page'))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Site/Entity/Site.php line 285
        switch ($errorHandlerConfiguration['errorHandler'] ?? null) {
            case self::ERRORHANDLER_TYPE_FLUID:
                return GeneralUtility::makeInstance(FluidPageErrorHandler::class, $statusCode, $errorHandlerConfiguration);
            case self::ERRORHANDLER_TYPE_PAGE:
                return GeneralUtility::makeInstance(PageContentErrorHandler::class, $statusCode, $errorHandlerConfiguration);
            case self::ERRORHANDLER_TYPE_PHP:
                $handler = GeneralUtility::makeInstance($errorHandlerConfiguration['errorPhpClassFQCN'], $statusCode, $errorHandlerConfiguration);
                // Check if the interface is implemented
                if (!($handler instanceof PageErrorHandlerInterface)) {
at TYPO3\CMS\Core\Site\Entity\Site->getErrorHandler(404)
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Controller/ErrorController.php line 133
    {
        $site = $request->getAttribute('site');
        if ($site instanceof Site) {
            try {
                return $site->getErrorHandler($statusCode);
            } catch (PageErrorHandlerNotConfiguredException $e) {
                // No error handler found, so fallback back to the generic TYPO3 error handler.
            }
        }
at TYPO3\CMS\Frontend\Controller\ErrorController->getErrorHandlerFromSite(object(TYPO3\CMS\Core\Http\ServerRequest), 404)
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Controller/ErrorController.php line 83
     * @throws PageNotFoundException
     */
    public function pageNotFoundAction(ServerRequestInterface $request, string $message, array $reasons = []): ResponseInterface
    {
        $errorHandler = $this->getErrorHandlerFromSite($request, 404);
        if ($errorHandler !== null) {
            return $errorHandler->handlePageError($request, $message, $reasons);
        }
        try {
at TYPO3\CMS\Frontend\Controller\ErrorController->pageNotFoundAction(object(TYPO3\CMS\Core\Http\ServerRequest), 'The requested page does not exist', array('code' => 'page'))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/PageResolver.php line 74
            /** @var PageArguments $pageArguments */
            $pageArguments = $site->getRouter()->matchRequest($request, $previousResult);
            $request = $request->withAttribute('routing', $pageArguments);
        } catch (RouteNotFoundException $e) {
            return GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(
                $request,
                'The requested page does not exist',
                ['code' => PageAccessFailureReasons::PAGE_NOT_FOUND]
            );
at TYPO3\CMS\Frontend\Middleware\PageResolver->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/StaticRouteResolver.php line 63

                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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/ContentSecurityPolicyReporter.php line 42
            // @todo create report, then call persist, then dispatch new event
            $this->persistCspReport($scope, $request);
            return new NullResponse();
        }
        return $handler->handle($request);
    }
}
at TYPO3\CMS\Frontend\Middleware\ContentSecurityPolicyReporter->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/SiteBaseRedirectResolver.php line 90
                $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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/FrontendUserAuthenticator.php line 72
        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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/BackendUserAuthenticator.php line 79
                $request = $request->withAttribute('noCache', true);
            }
        }

        $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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Middleware/RequestTokenMiddleware.php line 71
            $this->securityAspect->setReceivedRequestToken(false);
            $this->logger->debug('Could not resolve request token', ['exception' => $exception]);
        }

        $response = $handler->handle($request);
        return $this->enrichResponseWithCookie($request, $response);
    }

    protected function resolveNoncePool(ServerRequestInterface $request): NoncePool
at TYPO3\CMS\Core\Middleware\RequestTokenMiddleware->process(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/MaintenanceMode.php line 51
        ) {
            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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/SiteResolver.php line 53
        $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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/EidHandler.php line 48
    {
        $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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Middleware/NormalizedParamsAttribute.php line 41
     */
    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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Middleware/TimeTrackerInitialization.php line 46
        $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(object(TYPO3\CMS\Core\Http\ServerRequest), object(Psr\Http\Server\RequestHandlerInterface@anonymous/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 162

                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/html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php:128$44->handle(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/MiddlewareDispatcher.php line 70
     * Invoke the middleware stack
     */
    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(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/AbstractApplication.php line 80

    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(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/frontend/Classes/Http/Application.php line 59
        // 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(object(TYPO3\CMS\Core\Http\ServerRequest))
in /html/typo3-12/typo3_src-12.4.9/typo3/sysext/core/Classes/Http/AbstractApplication.php line 92
     * Set up the application and shut it down afterwards
     */
    final public function run()
    {
        $response = $this->handle(ServerRequestFactory::fromGlobals());
        $this->sendResponse($response);
    }
}
at TYPO3\CMS\Core\Http\AbstractApplication->run()
in /html/typo3-12/typo3_src-12.4.9/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 /html/typo3-12/typo3_src-12.4.9/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();
});