PHP 内置WEB服务器的简单使用

admin3年前PHP教程49
目录
直接启动一个内置服务器指定内置服务器的运行目录使用路由脚本

在很多时候,我们需要简单的运行一个小 demo 来验证一些代码或者轮子是否可用,是否可以运行起来,但是去配 nginx 或者 apache 都很麻烦,其实,PHP CLI 已经提供了一个简单的测试服务器,我们直接就可以运行起来进行简单的一些测试工作。

直接启动一个内置服务器
php -S localhost:8081

直接使用 -S 命令选项,然后指定地址及端口号,我们就可以运行起来一个 PHP 内置的简易WEB服务器。默认情况下,这个地址会找当前目录下的 index.php 或 index 文件。当我们在浏览器输入指定的文件时,就是访问指定的文件,如果都没有找到会正常的返回404错误。

而控制台会输出当前服务器的访问情况,如下图所示:

这个内置服务器和用 nginx 等服务器搭起来的应用服务器本质上没有太大的区别,包括 $_SERVER 之类的内容都可以正常获取到,也可以正常使用 include 等功能加载其他文件,也就是说这个内置WEB服务器运行一些框架也是没有问题的。它是可以完全满足我们的测试要求的。但是需要注意的是,这个内置WEB服务器不能用于生产环境。毕竟它的功能还是太简单,不是一个生产配备的高规格服务器应用。

指定内置服务器的运行目录

我们也可以在任何目录去运行指定目录的php代码,只需要再增加一个 -t 选项来指明要运行起服务器的根目录即可。


php -S localhost:8081 -t dev-blog/php/202004/source

这样我们就可以运行起来一个以 dev-blog/php/202004/source 目录为根目录的测试环境服务器。

使用路由脚本
php -S localhost:8081 PHP的内置WEB服务器.php

如果我们给当前服务器直接指定了一个PHP文件,那么直接打开链接就会访问的是这个文件的内容,而不是去找 index.php 之类的文件。即使我们继续给 URL 后台增加其他路径或者其他文件名,它依然会打开的是这个文件,也就是说,我们启动了一个单文件入口的应用服务器程序。就像各种框架的 index.php 文件一样,比如我们利用这个文件做一个简单的路由分发测试:


$routePages = [
    '/testRoute2.php',
    '/route/testRoute1.php'
];
 
if(in_array($_SERVER['REQUEST_URI'], $routePages)){
    include __DIR__ . $_SERVER['REQUEST_URI'];
}else{
    print_r($_SERVER);
}
// route/testRoute1.php
echo "Hello Route1!";
 
// testRoute2.php
echo "Hello Route2!";

两个测试文件只是简单的输出了一段文字用于区别分别加载了两个文件。上述代码的意思是我们访问定义好的两个路由路径时,就会加载对应的文件,访问其他路径则会打印当前服务器的 $_SERVER 信息。

测试代码: github/zhangyue050…

参考文档: php/manual/zh/f…

以上就是PHP 内置WEB服务器的简单使用的详细内容,更多关于PHP 内置服务器的使用的资料请关注其它相关文章!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

租韩国服务器多少钱一个月

租韩国服务器多少钱一个月?租用韩国服务器的价格是由多种因素共同影响的,以下是一些主要的因素:服务器性能:服务器的性能决定了它的承载能力和处理速度,通常来说,性能越高的服务器租用费用就越贵。网络带宽:网...

选择GPU服务器的几个参数考量租用美国GPU服务器怎么选择

目前,GPU服务器主要应用于科学计算、视频编解码等不同场景领域。它可以为应用提供非凡的加速计算能力,将应用程序计算密集的工作负载转移到GPU。根据MarketGrowthInsight的数据,到202...

企业如何选择合适的gpu服务器租用呢韩国GPU服务器租用注意事项

互联网时代,网络业务高速发展,一些企业对于服务器性能要求比较高的,可以选择gpu服务器租用,那么企业如何选择合适的gpu服务器租用呢?GPU服务器(GPUCloudComputing,GPU)是基于G...

盘点使用境外多IP服务器的几个好处

企业需要不断发展,不断开拓销售的途径,在互联网高速发展的情况下,线上业务慢慢的占据了很多企业的大部分业务,线上平台的建设和完善也慢慢成为企业的重点,独立的境外服务器以及独立的IP也开始成为企业的首选,...

PHP中的错误及其处理机制

目录什么是错误?Fatal Error:致命错误(脚本终止运行)Parse Error:编译时解析错误,语法错误(脚本终止运行)Warning Error:警告错误(仅给出提示信息,脚本不终止运行)N...

laravel join关联查询代码实例

laravel join关联查询1、两表关联$fbaInventoryTb = (new \App\Model\Amz\Fba\InventoryReport)->getTable();$pro...