zoukankan      html  css  js  c++  java
  • 内置的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重写规则。
  • 相关阅读:
    怎样才有资格被称为开源软件
    [翻译]开发Silverlight 2.0的自定义控件
    网上Silverlight项目收集
    Google 分析的基准化测试
    IIS 承载的WCF服务失败
    Lang.NET 2008 相关Session
    Silverlight 2.0 beta1 堆栈
    asp.net 性能调较
    SQL Server 2005 的nvarchar(max),varchar(max)来救火
    LINQPad
  • 原文地址:https://www.cnblogs.com/followyou/p/9296921.html
Copyright © 2011-2022 走看看