承接 filisko/fastcgi-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

filisko/fastcgi-client

Composer 安装命令:

composer require filisko/fastcgi-client

包简介

A modern and lightweight FastCGI client that works with Guzzle promises and PSR-7 responses

README 文档

README

Latest Version on Packagist Software License Testing Coverage Status Total Downloads

A modern, fully compliant FastCGI client for PHP that allows sending PSR-7 HTTP requests directly to FastCGI applications like PHP-FPM. The library supports request multiplexing, provides a Promise-based API using Guzzle Promises, and automatically converts FastCGI responses into PSR-7 responses.

🚩 Requirements

  • PHP >= 7.2
  • PSR-7 - HTTP mesage implementation
  • PSR-17 - HTTP message factory implementation

🧑‍🔧 Installation

In order for this package to work, you need to install a PSR-7 and PSR-17 implementation. You can install guzzlehttp/psr7, which is used by this lib for development purposes:

composer require guzzlehttp/psr7

The package itself is installable and autoloadable via Composer as filisko/fastcgi-client.

composer require filisko/fastcgi-client

🎯 Use Cases

  • Talk directly to PHP-FPM without an HTTP server (e.g., from a custom gateway).
  • Benchmark or test PHP-FPM pools under load.
  • Run end-to-end tests with PHPUnit in a much faster way (no HTTP yet still PSR-7 responses).

📖 Story

This library came out of the need to perform end-to-end tests in the fastest possible way. My main goal was to get outside the app in order to make assertions.

We could say it fills the gap between browser-based testing tools like Selenium (very slow) and Symfony's KernelTestCase, which doesn't go outside the app, although it's at the very edge (very fast).

By communicating directly with PHP's FastCGI interface via socket connections, it provides true end-to-end feedback with exceptional performance, which allows developers to test their applications from the outside while maintaining the speed needed for efficient test-driven development and go through the full request life cycle; request starts and ends, different than interacting with the App multiple times within the same process and sharing memory.

The implementation leverages modern tools like Guzzle Promises for asynchronous processing and standardised PSR-7 responses for seamless integration with your existing knowledge.

Additionally, the documentation in the code is outstanding! It serves both as a guide for developers interested in improving this library and also as an educational resource for those wanting to learn how the FastCGI protocol works. Furthermore, the documentation helps turn the hard-to-understand code of a low-level protocol implementation into something understandable and maintainable.

👨‍💻 Usage

TODO

📃 License and Contribution

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.

统计信息

  • 总下载量: 3
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 3
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-05-18