index.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
  13. Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);
  14. }
  15. if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
  16. Request::setTrustedHosts([$trustedHosts]);
  17. }
  18. // If the header is set
  19. if (isset($_SERVER['HTTP_BLACKFIRETRIGGER'])) {
  20. $config = new \Blackfire\ClientConfiguration();
  21. $config->setClientId($_ENV['BLACKFIRE_CLIENT_ID']);
  22. $config->setClientToken($_ENV['BLACKFIRE_CLIENT_TOKEN']);
  23. // let's create a client
  24. $blackfire = new \Blackfire\Client($config);
  25. // then start the probe
  26. $probe = $blackfire->createProbe();
  27. }
  28. $kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
  29. $request = Request::createFromGlobals();
  30. $response = $kernel->handle($request);
  31. $response->send();
  32. $kernel->terminate($request, $response);
  33. // If the header is set
  34. if (isset($_SERVER['HTTP_BLACKFIRETRIGGER'])) {
  35. // When runtime shuts down, let's finish the profiling session
  36. register_shutdown_function(function () use ($blackfire, $probe) {
  37. // See the PHP SDK documentation for using the $profile object
  38. $profile = $blackfire->endProbe($probe);
  39. });
  40. }