简体   繁体   中英

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

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!

It's creating a command for starting the server that comes built-in with PHP. The server runs at port 8000 and servers files from ./public directory.

https://www.php.net/manual/en/features.commandline.webserver.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM