使用PHP内置Web服务器自动打开网站


Automatically open website served with PHP built-in webserver

如何使用php内置的Web服务器在一个命令中从当前目录服务和打开网站?

php内置Web服务器使用的命令是:

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)"

为了帮助路过这里的人:

chromium浏览器应用程序=http://127.0.0.1:8000|php-S 127.0.0.1:8000

相关文章: