内置的HTTP服务器Modern PHP

Posted FollowYou_博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内置的HTTP服务器Modern PHP相关的知识,希望对你有一定的参考价值。

目录

php5.4.0起,PHP内置了Web服务器。对本地开发是个极好的工具,便捷,无需安装WAMP、XAMP或大新那个web服务器,就能在本地调试了。

启动服务器

进入项目的根目录下,执行命令

php -S localhost:4000   #地址:监听端口

或者 直接指定网站根目录

php -S localhost:4000 -t D:website   

浏览器打开 localhost:4000,就可以进入到网站浏览应用。

如想停止PHP Web服务器,可关闭终端应用或按Ctrl+C。

配置服务器

指定初始化文件。使用专属的php初始配置文件,对内存用量、文件上传、分析或字节码缓存有特殊要求。

php -S localhost:4000 -c app/config/php/ini

路由器脚本

内置服务器无法进行路由解析、转发、重定向等,不支持.htaccess文件。因此很难使用多数流行的PHP框架中的常见的前端控制器。

使用路由器脚本弥补这个遗漏的功能。处理每个HTTP请求前,先执行这个路由器脚本。其作用跟.htaccess文件一样。

php -S localhost:4000 router.php

路由器脚本 如对图片的请求会返回相应的图片,但对html文件的请求会显示“Welcome to PHP”:

<?php
// router.php
if (preg_match('/.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false;  // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>

判断是否为内置的服务器

<?php
    if(php_sapi_name() === 'cli_server'){
        //PHP内置服务器
    }else{
        //其他Web服务器
    }

缺点:不能在生产环境使用,只能本地开发使用。

  • 性能差。一次只能处理一个请求;
  • 支持少量的媒体类型;
  • 支持少量的URL重写规则。

以上是关于内置的HTTP服务器Modern PHP的主要内容,如果未能解决你的问题,请参考以下文章

modern php enable zend opcache

超级有用的9个PHP代码片段

比较有用的php代码片段

现代 PHP 新特性 —— 内置的 HTTP 服务器 (转)

PHP常用代码片段

modern php closure 闭包