public/index.php line 36

Open in your IDE?
  1. <?php
  2. use App\Kernel;
  3. use Symfony\Component\Dotenv\Dotenv;
  4. use Symfony\Component\ErrorHandler\Debug;
  5. use Symfony\Component\HttpFoundation\Request;
  6. require dirname(__DIR__).'/vendor/autoload.php';
  7. (new Dotenv())->bootEnv(dirname(__DIR__).'/.env');
  8. if ($_SERVER['APP_DEBUG']) {
  9. umask(0000);
  10. Debug::enable();
  11. }
  12. // Symfony 5.1 + PHP 8.4: vendor uses implicit nullable params. Kernel::initializeContainer()
  13. // temporarily sets error_reporting(E_ALL ^ E_WARNING), so excluding E_DEPRECATED alone is not
  14. // enough — swallow those notices so they cannot break headers/sessions.
  15. set_error_handler(static function () {
  16. return true;
  17. }, E_DEPRECATED | E_USER_DEPRECATED);
  18. error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED);
  19. if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
  20. Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO);
  21. }
  22. if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
  23. Request::setTrustedHosts([$trustedHosts]);
  24. }
  25. $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
  26. $request = Request::createFromGlobals();
  27. $response = $kernel->handle($request);
  28. $response->send();
  29. $kernel->terminate($request, $response);