phplaravelcommand-line-interface

Laravel how to start server in production


When I run it outputs:

php artisan serve --port=80
Laravel development server started on http://localhost:80

How can I make it run in the background, when I exit the console the server stops.


Solution

  • Short answer: DON'T

    The web server artisan uses is the PHP built-in web server, which is not for use in any scenario other than development as showcased by this excerpt from the Built-in web server documentation:

    Warning This web server was designed to aid application development. It may also be useful for testing purposes or for application demonstrations that are run in controlled environments. It is not intended to be a full-featured web server. It should not be used on a public network.

    The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.

    In production you should be using a fully featured web server such as nginx, Apache, lighttpd, etc.