web/index.php line 48

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * This file is part of Contao.
  5.  *
  6.  * (c) Leo Feyer
  7.  *
  8.  * @license LGPL-3.0-or-later
  9.  */
  10. use Composer\Autoload\ClassLoader;
  11. use Contao\ManagerBundle\HttpKernel\ContaoKernel;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\HttpKernel\TerminableInterface;
  14. // Suppress error messages (see #1422)
  15. @ini_set('display_errors''0');
  16. // Disable the phar stream wrapper for security reasons (see #105)
  17. if (in_array('phar'stream_get_wrappers(), true)) {
  18.     stream_wrapper_unregister('phar');
  19. }
  20. // System maintenance mode comes first as it has to work even if the vendor directory does not exist
  21. if (file_exists(__DIR__.'/../var/maintenance.html')) {
  22.     $contents file_get_contents(__DIR__.'/../var/maintenance.html');
  23.     http_response_code(503);
  24.     header('Content-Type: text/html; charset=UTF-8');
  25.     header('Content-Length: '.strlen($contents));
  26.     header('Cache-Control: no-store');
  27.     die($contents);
  28. }
  29. /** @var ClassLoader $loader */
  30. $loader = require __DIR__.'/../vendor/autoload.php';
  31. $request Request::createFromGlobals();
  32. $kernel ContaoKernel::fromRequest(dirname(__DIR__), $request);
  33. $response $kernel->handle($request);
  34. $response->send();
  35. if ($kernel instanceof TerminableInterface) {
  36.     $kernel->terminate($request$response);
  37. }