Search code examples
phplumen

can somebody explain this command "php -S localhost:8000 -t public"?


/**
* Get the full server command.
*
* @return string
*/
protected function serverCommand()
{
     return sprintf('%s -S %s:%s %s/server.php',
            ProcessUtils::escapeArgument((new PhpExecutableFinder)->find(false)),
            $this->host(),
            $this->port(),
            ProcessUtils::escapeArgument($this->laravel->basePath())
     );
}

didn't get this also


Solution

  • The -S argument starts a embedded web server from the php executable.

    It is a small, not for production or public use suitable web server, primarily used for debugging or demonstrations.

    The localhost:8000 part is of course the address which the server will use.

    The -t argument lets you specify a directory for the webroot. In this case the public directory will be used as the root directory for the webserver.

    All in all it is a very useful debugging and testing tool since you don't have to setup a whole Apache or nginx server.

    But as mentioned above: It is not suitable for production or public use since it's not a fully fletched webserver like Apache!