PHP内置Web服务器的使用
PHP 从5.4版本开始,CLI SAPI 提供了一个内置的Web Server,也就是说自带了一个小型的用于执行PHP代码的Web服务器,这个内置的Web Server主要用于本地开发使用,不可用于实际生产环境。
工作原理:
URI请求会被发送到PHP可执行文件所在的工作目录(Working Directory)进行处理,除非你使用了-t参数来自定义不同的目录,如果请求未指定执行哪个PHP文件,则默认执行目录内的index.php 或者 index.html。如果这两个文件都不存在,服务器会返回404错误。
启动方式:
通过命令行启动这个Web Server。如果指定了一个PHP文件,则这个文件会作为一个“路由”脚本,意味着每次请求都会先执行这个脚本。如果这个脚本返回 FALSE ,那么直接返回请求的文件(例如请求静态文件不作任何处理)。否则会把输出返回到浏览器。
// 以下代码必须在命令行或终端中执行
php -S localhost:8000
启动时指定访问目录:
# cd /www
# php -S localhost:8000 -t public/
PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /www/public
Press Ctrl-C to quit
该内置服务器默认只处理文本,如果客户端请求的是图片,则需要通过一个“路由”脚本进行处理:
# php -S localhost:8000 router.php
<?php
// router.php
// 对于请求的是图片,return false即可直接返回请求的文件
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // 直接返回请求的文件
} else {
echo "<p>Hello World!</p>";
}
Windows下的演示:


相关推荐
-
MySQL 安装失败,提示Apply Security Settings 的处理办法
MySQL 安装失败,提示Apply Security Settings 的处理办法2025-04-20 01:54:57 -
MySQL事务隔离级别详解2025-04-20 01:44:01
-
一文说清nginx规则匹配(含案例分析)2025-04-20 01:10:02
-
运维服务篇:Nginx常用功能(rewrite重定向/location定位等)
运维服务篇:Nginx常用功能(rewrite重定向/location定位等)2025-04-20 00:55:25 -
php定义变量规则不能包含哪些字符?2025-04-20 00:27:24