hoa/fastcgi

此包已被 废弃 且不再维护。未建议替代包。

Hoa\Fastcgi 库。

3.19.03.08 2019-03-08 08:29 UTC

README

Hoa

Build status Code coverage Packagist License

Hoa 是一套 模块化可扩展结构化 的 PHP 库。
此外,Hoa 致力于成为工业界和学术界之间的桥梁。

Hoa\Fastcgi

Help on IRC Help on Gitter Documentation Board

此库允许操作 FastCGI 协议,该协议确保 HTTP 服务器与外部程序(如 PHP)之间的通信。

了解更多.

安装

使用 Composer,要将此库添加到依赖项中,需要添加 hoa/fastcgi

$ composer require hoa/fastcgi '~3.0'

有关更多安装过程,请参阅 源代码页面

测试

在运行测试套件之前,必须安装开发依赖项

$ composer install

然后,运行所有测试套件

$ vendor/bin/hoa test:run

有关更多信息,请参阅 贡献者指南

快速使用

作为快速概述,我们建议直接通过 FastCGI 协议执行 PHP 文件。

在开始之前,我们需要知道 PHP 提供了两个支持 FastCGI 的工具:php-cgiphp-fpm(用于 FastCGI 进程管理器)。我们将在本地使用 php-cgi,使用 TCP 标准端口 9000

$ php-cgi -b 127.0.0.1:9000

首先,我们编写 Echo.php 文件,这是我们可能要执行的文件

<?php

echo 'foobar';

其次,我们需要打开与 FastCGI 服务器的连接,并发送以下头部的查询

  • SCRIPT_FILENAME 表示要执行的 PHP 文件的绝对路径;
  • REQUEST_METHOD 表示在 GETPOSTPUTDELETE 等HTTP方法中之一;
  • REQUEST_URI 表示我们试图访问的资源标识符。

因此

$fastcgi = new Hoa\Fastcgi\Responder(
    new Hoa\Socket\Client('tcp://127.0.0.1:9000')
);
var_dump($fastcgi->send([
    'REQUEST_METHOD'  => 'GET',
    'REQUEST_URI'     => '/',
    'SCRIPT_FILENAME' => __DIR__ . DS . 'Echo.php'
]));
// string(6) "foobar"

我们可以通过调用 Hoa\Fastcgi\Responder::getResponseHeaders 方法从执行的文件中获取头信息。

这是一种执行 PHP 文件(或支持 FastCGI 的其他程序)的好方法,无需担心二进制位置、子shell 调用、错误处理等。

文档

Hoa\Fastcgi 的黑客手册包含有关如何使用此库及其工作原理的详细信息。

要本地生成文档,请执行以下命令

$ composer require --dev hoa/devtools
$ vendor/bin/hoa devtools:documentation --open

更多文档可以在项目的网站上找到: hoa-project.net

获取帮助

主要有两种方式获取帮助

贡献

您想做出贡献吗?谢谢!一个详细的贡献指南解释了您需要了解的所有内容。

许可

Hoa遵循新BSD许可协议(BSD-3-Clause)。请查阅LICENSE获取详细信息。