PHP内置Web Server

156 次查看 0 条评论

PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器。

  1. 这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境。
  2. URI请求会被发送到PHP所在的的工作目录(Working Directory)进行处理,除非你使用了-t参数来自定义不同的目录。
  3. 如果请求未指定执行哪个PHP文件,则默认执行目录内的index.php 或者
    index.html。如果这两个文件都不存在,服务器会返回404错误。

当你在命令行启动这个Web Server时,如果指定了一个PHP文件,则这个文件会作为一个“路由”脚本,意味着每次请求都会先执行这个脚本。如果这个脚本返回 FALSE ,那么直接返回请求的文件(例如请求静态文件不作任何处理)。否则会把输出返回到浏览器。

1、示例 #1 启动Web服务器

$ cd ~/Desktop/wwwroot
$ php -S 127.0.0.1:80

37854-okyunbwgnb.png

然后就可以在浏览器例访问了。

2、示例 #2 启动时指定根目录

$ cd ~/Desktop
$ php -S 127.0.0.1:80 -t wwwroot/

3、示例 #3 使用路由(Router)脚本

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"]))
    return false;    // 直接返回请求的文件
else { 
    echo "<p>Welcome to PHP</p>";
}
?>

然后启动服务器:

$ php -S 127.0.0.1:80 router.php

请求图片直接显示图片,请求HTML则显示“Welcome to PHP”


引用:https://www.php.net/manual/zh/features.commandline.webserver.php

PHP手册:https://www.php.net/manual/zh/

下载手册:https://www.php.net/download-docs.php

PHP PHP

暂无评论,快来抢沙发。