appserver-io/webserver

使用 PHP 编写的多线程 PHP 服务器

5.1.5 2018-06-19 19:46 UTC

README

Latest Stable Version Total Downloads License Build Status Code Coverage Code Quality

介绍

你是认真的吗?一个为 PHP 编写的纯 PHP 服务器?哦哦,是的! :) 这是一个符合 HTTP/1.1 的 PHP 服务器,而且最好的一点是,它有一个 PHP 模块,而且是多线程的!

我们在 appserver.io 项目中使用它作为处理 HTTP 请求的服务器组件。

安装

如果您想将此服务器与您的应用程序一起使用,请将以下内容添加到您的 composer.json 中,并在您的项目中运行 composer update

{
    "require": {
        "appserver-io/webserver": "dev-master"
    }
}

用法

如果满足要求,使用此服务器非常简单。只需这样做

git clone https://github.com/appserver-io/webserver
cd webserver
PHP_BIN=/path/to/your/threadsafe/php-binary bin/webserver

如果您使用 appserver.io,启动行将是

bin/webserver

转到 http://127.0.0.1:9080,如果一切顺利,您将看到 PHP 服务器的欢迎页面。它将在不安全的 HTTP 端口 9080 和安全的 HTTPS 端口 9443 上启动。

要测试 PHP 脚本,请转到 http://127.0.0.1:9080/info.php 并查看发生了什么... ;)

此外,您可以在启动脚本中传递两个参数。第一个是自定义配置文件的路径,第二个是自定义自动加载文件的路径。例如,如果您想使用自己的配置和自动加载文件,请使用以下命令启动服务器

bin/webserver path/to/your/configuration.xml path/to/your/autoloader.php

这两个文件可以是相对于服务器根目录的绝对路径或相对路径。

请注意,自动加载器 必须 能够加载服务器类,因为它不是补充默认 composer 自动加载器,而是替代它。

语义版本控制

此库遵循语义版本控制,其公共 API 定义如下

  • 公共 API、配置及其所有模块的完整性
  • \AppserverIo\WebServer\ConnectionHandlers\HttpConnectionHandler 的公共接口
  • 命名空间 \AppserverIo\WebServer\Interfaces 内的公共接口

外部链接