merged branch canni/prod_server (PR #7507)
This PR was squashed before being merged into the master branch (closes #7507).
Discussion
----------
[FrameworkBundle] Enable possibility to run PHP bultin server in production env
See the referenced ticket for discussion;
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | yes
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #7430
| License | MIT
Commits
-------
12fce13
[FrameworkBundle] Enable possibility to run PHP bultin server in production env
This commit is contained in:
commit
17e065facb
@ -4,6 +4,7 @@ CHANGELOG
|
||||
2.3.0
|
||||
-----
|
||||
|
||||
* added possibility to run PHP built-in server in production environment
|
||||
* added possibility to load the serializer component in the service container
|
||||
* added route debug information when using the `router:match` command
|
||||
* added `TimedPhpEngine`
|
||||
|
@ -78,10 +78,16 @@ EOF
|
||||
*/
|
||||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$env = $this->getContainer()->getParameter('kernel.environment');
|
||||
|
||||
if ('prod' === $env) {
|
||||
$output->writeln('<error>Running PHP built-in server in production environment is NOT recommended!</error>');
|
||||
}
|
||||
|
||||
$router = $input->getOption('router') ?: $this
|
||||
->getContainer()
|
||||
->get('kernel')
|
||||
->locateResource('@FrameworkBundle/Resources/config/router.php')
|
||||
->locateResource(sprintf('@FrameworkBundle/Resources/config/router_%s.php', $env))
|
||||
;
|
||||
|
||||
$output->writeln(sprintf("Server running on <info>%s</info>\n", $input->getArgument('address')));
|
||||
|
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Symfony package.
|
||||
*
|
||||
* (c) Fabien Potencier <fabien@symfony.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/*
|
||||
* This file implements rewrite rules for PHP built-in web server.
|
||||
*
|
||||
* See: http://www.php.net/manual/en/features.commandline.webserver.php
|
||||
*
|
||||
* If you have custom directory layout, then you have to write your own router
|
||||
* and pass it as a value to 'router' option of server:run command.
|
||||
*
|
||||
* @author: Michał Pipa <michal.pipa.xsolve@gmail.com>
|
||||
* @author: Albert Jessurum <ajessu@gmail.com>
|
||||
*/
|
||||
|
||||
if (is_file($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_SERVER['SCRIPT_NAME'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'app.php';
|
||||
|
||||
require 'app.php';
|
Reference in New Issue
Block a user