前言:
PHP从5.4开始,就提供了一个内置的web服务器。
当然这个主要是用来做本地的开发用的。
不能用于线上环境。
现在我就介绍一下这个工具如何使用。
前提:
php已经加入到本地电脑的环境变量中
命令中输入:
cd 项目目录
php -S localhost:8080
例图:
通过 php -S 命令即可启动PHP自带的Web Server,后面跟网络地址及监听的端口号,默认的网站根目录为当前目录。在浏览器中访问:http://localhost:8080 ,因为在命令中指定了访问index.php,所以localhost:8080只能访问到index.php的内容,如果输入localhost:8080/phpinfo.php,访问到还是index.php的内容。
如果要实现访问localhost:8080/phpinfo.php,访问到的是phpinfo.php的内容,直接输入
php -S localhost:8080
例图:
这样就可以了:
如果要指定网站根目录,-t命令
php -S localhost:8080 -t 项目目录(E:\allen\project\WWW)
那么现在有一个问题就是说,如果我们使用了单入口,而且还是用了pathinfo模式。那么上面的可能就有问题了。
cd 项目目录
php -S localhost:8000 router.php
router.php
/**
* 对URL进行解析,并获取请求的文件名
*/
$uri = urldecode(parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH));
/**
* 判断是否存在该文件,如果不存在,则直接继续加载入口文件
*/
if ($uri !== "/" && file_exists(__DIR__ . "$uri")) {
return false;
}
/**
* 加载入口文件
*/
require_once "./index.php";
从而实现加载入口文件。
最后:
这种web开发方式只是适用于个人学习php使用,或者自己写项目练习。
当真正企业中项目运行时,还是借助于nginx或者apache这种web服务器开发。