router_dev.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /*
  3. * This file is part of the Symfony package.
  4. *
  5. * (c) Fabien Potencier <fabien@symfony.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. /*
  11. * This file implements rewrite rules for PHP built-in web server.
  12. *
  13. * See: http://www.php.net/manual/en/features.commandline.webserver.php
  14. *
  15. * If you have custom directory layout, then you have to write your own router
  16. * and pass it as a value to 'router' option of server:run command.
  17. *
  18. * @author: Michał Pipa <michal.pipa.xsolve@gmail.com>
  19. * @author: Albert Jessurum <ajessu@gmail.com>
  20. */
  21. // Workaround https://bugs.php.net/64566
  22. if (ini_get('auto_prepend_file') && !in_array(realpath(ini_get('auto_prepend_file')), get_included_files(), true)) {
  23. require ini_get('auto_prepend_file');
  24. }
  25. if (is_file($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_SERVER['SCRIPT_NAME'])) {
  26. return false;
  27. }
  28. $_SERVER = array_merge($_SERVER, $_ENV);
  29. $_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'app_dev.php';
  30. // Since we are rewriting to app_dev.php, adjust SCRIPT_NAME and PHP_SELF accordingly
  31. $_SERVER['SCRIPT_NAME'] = DIRECTORY_SEPARATOR.'app_dev.php';
  32. $_SERVER['PHP_SELF'] = DIRECTORY_SEPARATOR.'app_dev.php';
  33. require 'app_dev.php';
  34. error_log(sprintf('%s:%d [%d]: %s', $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_PORT'], http_response_code(), $_SERVER['REQUEST_URI']), 4);