当先锋百科网

首页 1 2 3 4 5 6 7

在开发中,我们常常需要在本地启动一个PHP服务器,我们可以使用PHP命令行接口(CLI)提供的内置服务器命令通过命令行启动一个PHP服务器。

其中,php -S localhost:8000命令可以在本地启动一个服务器,监听本地的8000端口。这个命令可以直接在命令行中运行,并且不需要上传文件到远程服务器,非常方便。

在使用php -S命令时,我们可以指定服务器的IP和端口号:

php -S 127.0.0.1:8888

这样,我们就可以在本地启动一个服务器,监听IP为127.0.0.1,端口为8888。

除此之外,php -S命令还可以指定服务器的静态文件根目录,这样我们就可以直接访问静态文件了:

php -S localhost:8000 -t public

这样,我们指定了服务器的静态文件根目录为public目录,那么就可以直接访问public目录下的静态文件:

http://localhost:8000/index.html
http://localhost:8000/css/style.css
http://localhost:8000/js/app.js

在指定静态文件目录时,我们还可以使用绝对路径或相对路径:

php -S localhost:8000 -t /path/to/public
php -S localhost:8000 -t ../public

同时,php -S命令还支持URL重写,我们可以把所有的请求都重定向到入口文件,然后由入口文件分发请求。

php -S localhost:8000 router.php

这样,在访问任何URL时,服务器都会调用router.php文件,我们可以在文件中进行URL重写。例如:

<?php
if (preg_match('/^\/admin/', $_SERVER['REQUEST_URI'])) {
include __DIR__ . '/admin.php';
} else {
include __DIR__ . '/home.php';
}

在上面的例子中,如果访问的URL以/admin开头,那么就会调用admin.php文件,否则就调用home.php文件。

php -S命令的详细参数可以通过php -h命令查看:

php -h