hoa / fastcgi
Hoa\Fastcgi 库。
Requires
- hoa/consistency: ~1.0
- hoa/exception: ~1.0
- hoa/socket: ~1.0
Requires (Dev)
- hoa/test: ~2.0
This package is auto-updated.
Last update: 2021-09-20 08:30:56 UTC
README
Hoa 是一套 模块化、可扩展 和 结构化 的 PHP 库。
此外,Hoa 致力于成为工业界和学术界之间的桥梁。
Hoa\Fastcgi
此库允许操作 FastCGI 协议,该协议确保 HTTP 服务器与外部程序(如 PHP)之间的通信。
了解更多.
安装
使用 Composer,要将此库添加到依赖项中,需要添加 hoa/fastcgi
$ composer require hoa/fastcgi '~3.0'
有关更多安装过程,请参阅 源代码页面。
测试
在运行测试套件之前,必须安装开发依赖项
$ composer install
然后,运行所有测试套件
$ vendor/bin/hoa test:run
有关更多信息,请参阅 贡献者指南。
快速使用
作为快速概述,我们建议直接通过 FastCGI 协议执行 PHP 文件。
在开始之前,我们需要知道 PHP 提供了两个支持 FastCGI 的工具:php-cgi
和 php-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
表示在GET
、POST
、PUT
、DELETE
等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。
获取帮助
主要有两种方式获取帮助
- 在
#hoaproject
IRC 频道, - 在users.hoa-project.net论坛上。
贡献
您想做出贡献吗?谢谢!一个详细的贡献指南解释了您需要了解的所有内容。
许可
Hoa遵循新BSD许可协议(BSD-3-Clause)。请查阅LICENSE
获取详细信息。