public/index.php line 48

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. use Shopware\Development\HttpKernel;
  3. use Symfony\Component\Dotenv\Dotenv;
  4. use Symfony\Component\ErrorHandler\Debug;
  5. use Symfony\Component\HttpFoundation\Request;
  6. if (PHP_VERSION_ID 70400) {
  7.     header('Content-type: text/html; charset=utf-8'true503);
  8.     echo '<h2>Error</h2>';
  9.     echo 'Your server is running PHP version ' PHP_VERSION ' but Shopware 6 requires at least PHP 7.4.0';
  10.     exit(1);
  11. }
  12. $classLoader = require __DIR__ '/../vendor/autoload.php';
  13. // The check is to ensure we don't use .env if APP_ENV is defined
  14. if (!isset($_SERVER['APP_ENV']) && !isset($_ENV['APP_ENV'])) {
  15.     if (!class_exists(Dotenv::class)) {
  16.         throw new \RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.');
  17.     }
  18.     (new Dotenv())->usePutenv()->load(__DIR__ '/../.env');
  19. }
  20. $appEnv $_SERVER['APP_ENV'] ?? $_ENV['APP_ENV'] ?? 'dev';
  21. $debug = (bool) ($_SERVER['APP_DEBUG'] ?? $_ENV['APP_DEBUG'] ?? ($appEnv !== 'prod'));
  22. if ($debug) {
  23.     umask(0000);
  24.     Debug::enable();
  25. }
  26. $trustedProxies $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false;
  27. if ($trustedProxies) {
  28.     Request::setTrustedProxies(explode(','$trustedProxies), Request::HEADER_X_FORWARDED_FOR Request::HEADER_X_FORWARDED_PORT Request::HEADER_X_FORWARDED_PROTO);
  29. }
  30. $trustedHosts $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false;
  31. if ($trustedHosts) {
  32.     Request::setTrustedHosts(explode(','$trustedHosts));
  33. }
  34. $request Request::createFromGlobals();
  35. $kernel = new HttpKernel($appEnv$debug$classLoader);
  36. $result $kernel->handle($request);
  37. $result->getResponse()->send();
  38. $kernel->terminate($result->getRequest(), $result->getResponse());