douhui9380
2019-07-04 13:21
浏览 345
已采纳

有人可以解释这个命令“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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • doujia3441 2019-07-04 13:41
    已采纳

    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!

    打赏 评论
  • doubang9906 2019-07-04 13:41

    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

    打赏 评论

相关推荐 更多相似问题