php网站内容管理系统(PHPCLI简单的运行一个小demo来验证代码或者轮子是否可用)

优采云 发布时间: 2022-01-15 03:05

  php网站内容管理系统(PHPCLI简单的运行一个小demo来验证代码或者轮子是否可用)

  很多情况下,我们需要简单的运行一个小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文件,那么直接打开链接就会访问到这个文件的内容,而不是去寻找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信息。

  测试代码:

  %E7%9A%84%E5%86%85%E7%BD%AEWEB%E6%9C%8D%E5%8A%A1%E5%99%A8.php

  参考文档:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线