Using PHP's Built-In Web Server with Symfony's Production Mode

5.3k Views Asked by At

I just created a new Symfony 3.4 application. Per Symfony's docs, I can server my application using PHP's built-in web-server by running

php bin/console server:start

However -- this appears to run the application in development mode. This means exception printing is on, the developer toolbar shows up, etc.

Is there a way to use the built-in web server with Symfony's production mode? This isn't to serve an application to the public (which wouldn't be a good idea) but instead because I want to test an issue that may only crop up in production mode.

4

There are 4 best solutions below

0
RiggsFolly On

Yea, you specify the app.php on the url you enter in the browser, so something like this

mysite.dev/app.php/login

Or

localhost:8000/app.php/login

By default it will automatically use app_dev.php

1
hcoat On

Instead of symfony's server command you can run PHP's built-in web-server directly with the following command:

php -S localhost:8000 -t web/ app.php

This assumes that you are currently in your project directory and that the web/ directory hosts your app.php file.

-t denotes the document root. In this example that is web/.

app.php is specified as the router script and will handle your request.

More info on PHP's built-in web server command

Now when you go to localhost:8000 it will be serving your Symfony project in Production mode.

This doesn't run the server in the background, but you can easily search google for how to do that.

0
Ryan On

If you are using Symfony 4 you need to enable the server bundle for all environments in the bundles.php file. By default it's only turned on for dev.

<?php

return [
    // ...
    Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['all' => true],
];
1
harret On
php -S localhost:8000 -t web/ web/app.php

This worked for me. Otherwise,this error will be thrown: PHP Fatal error: Unknown: Failed opening required 'app.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0