Fastcgi

其他类别 2025-08-21


HOA是模块化可扩展结构化的PHP库集。
此外,HOA旨在成为工业和研究世界之间的桥梁。

HOA \ Fastcgi

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

了解更多。

安装

使用作曲家,要将此库包括在您的依赖项中,您需要需要hoa/ Fastcgi

$ composer require hoa/ Fastcgi ' ~3.0 '

有关更多安装过程,请阅读源页。

测试

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

$ composer install

然后,运行所有测试套件:

$ vendor/bin/hoa test:run

有关更多信息,请阅读撰稿人指南。

快速使用

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

在开始之前,我们需要知道PHP提出了两个支持Fastcgi工具: php-cgiphp-fpm (对于Fastcgi Process Manager)。我们将在本地使用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 \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"">
 $ 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程序)的好方法,而不必担心二进制位置,子壳呼叫,错误处理等。

文档

Hoa\ Fastcgi的黑客书包含有关如何使用此库以及如何工作的详细信息。

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

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

可以在项目的网站上找到更多文档:HOA-Project.net。

得到帮助

有两种获得帮助的方法:

  • #hoaproject IRC频道上,
  • 在user.hoa-project.net的论坛上。

贡献

您想贡献吗?谢谢!详细的撰稿人指南说明了您需要了解的所有内容。

执照

HOA属于新的BSD许可证(BSD-3-C-sause)。请有关详细信息,请参阅LICENSE

下载源码

通过命令行克隆项目:

git clone https://github.com/hoaproject/Fastcgi.git