千家信息网

PHP的内置WEB服务器的使用

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇内容主要讲解"PHP的内置WEB服务器的使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP的内置WEB服务器的使用"吧!PHP的内置WEB服务器
千家信息网最后更新 2024年09月21日PHP的内置WEB服务器的使用

本篇内容主要讲解"PHP的内置WEB服务器的使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"PHP的内置WEB服务器的使用"吧!

PHP的内置WEB服务器

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

直接启动一个内置服务器

php -S localhost:8081

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

测试代码:https://github.com/zhangyue0503/dev-blog/blob/master/php/202004/source/PHP%E7%9A%84%E5%86%85%E7%BD%AEWEB%E6%9C%8D%E5%8A%A1%E5%99%A8.php

参考文档:https://www.php.net/manual/zh/features.commandline.webserver.php

到此,相信大家对"PHP的内置WEB服务器的使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

服务器 服务 文件 运行 测试 目录 代码 内容 两个 路径 路由 应用 也就是 也就是说 功能 地址 情况 根目录 框架 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村软件开发 专科软件开发工作 软件开发公司存货的定义 注册谷歌邮箱提示无法连接服务器 北京发展软件开发经历 学习手机软件开发零基础 五线谱软件开发 腾讯阿里dns服务器地址 广联达软件开发面试题 软件开发三方保密协议 平度app定制软件开发推荐 滴滴 瓜 检查网络安全 信用卡测评软件开发商 电脑上的网络安全屏保关闭不了 艾尔登之环服务器正在维修 嘉定区防水网络技术联系方式 软件开发哪家好熊掌网络 怎么同步数据库数据同步 金士顿服务器内存条容量怎么看 中国水稻数据库九稻722 软件开发较受大众喜爱 查看某个数据库中有什么表 达梦数据库查看数据库参数 网络安全与信息传播活动 上海运营网络技术费用是多少 没有硬盘怎么连接服务器 修改数据库账号 网络安全竞赛入门 青岛美诺网络技术有限公司 河北职业软件开发常用指南
0