自动打开使用PHP内置网络服务器提供的网站

如何使用php内置的webserver在一个命令中从当前目录中提供和打开网站?

用于php内置webserver的命令是:

php [options] -S <addr>:<port> [-t docroot]

但是这是一个运行命令,因此以下命令不起作用:

php -S 127.0.0.1:8000 && open 127.0.0.1:8000

目的是创建一个单独的别名命令,以便在启动Web服务器后直接在浏览器中打开网站(所有这些都来自单个命令):

alias lserve="php -S 127.0.0.1:8000 && open 127.0.0.1:8000"

最佳答案 在后台运行服务器:

php -S 127.0.0.1:8000 & open 127.0.0.1:8000

请注意,我只使用一个&在后台开始工作.这与逻辑和操作符&& Bash的语法不允许跟随&的命令.由…分开;

但是,该解决方案仍然存在问题.由于服务器在后台运行,因此无法使用单个^ C关闭浏览器和服务器.要实现这一点,您需要在子shell中启动这两个命令:

(trap 'kill 0' SIGINT; php -S 127.0.0.1:8000 & open http://127.0.0.1:8000)

现在你可以把它放到一个别名中:

alias lserve="(trap 'kill 0' SIGINT; php -S 127.0.0.1:8000 & open http://127.0.0.1:8000)"
点赞