PHPackages                             filisko/fastcgi-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. filisko/fastcgi-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

filisko/fastcgi-client
======================

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

33PHPCI passing

Since May 31Pushed 11mo agoCompare

[ Source](https://github.com/filisko/fastcgi-client)[ Packagist](https://packagist.org/packages/filisko/fastcgi-client)[ RSS](/packages/filisko-fastcgi-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

PHP FastCGI Client
==================

[](#php-fastcgi-client)

[![Latest Version on Packagist](https://camo.githubusercontent.com/4f7f26402e6cde534e8c419c99f19c741442172beba089c014b91d65ec764d00/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66696c69736b6f2f666173746367692d636c69656e742e7376673f7374796c653d666c6174)](https://packagist.org/packages/filisko/fastcgi-client)[![Software License](https://camo.githubusercontent.com/011ab289702ea32abcf53bc0d330758d85023ed63c970663774b31db27aef51e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d696e666f726d6174696f6e616c2e7376673f7374796c653d666c6174)](LICENSE)[![Testing](https://github.com/filisko/fastcgi-client/workflows/testing/badge.svg)](https://github.com/filisko/fastcgi-client/workflows/testing/badge.svg)[![Coverage Status](https://camo.githubusercontent.com/3db88c7ec468e2b5c962bcbc25d8698ab3ad2d4ab86d1ec7fb6df7567f604016/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f66696c69736b6f2f666173746367692d636c69656e742f62616467652e7376673f6272616e63683d6d61696e)](https://camo.githubusercontent.com/3db88c7ec468e2b5c962bcbc25d8698ab3ad2d4ab86d1ec7fb6df7567f604016/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f66696c69736b6f2f666173746367692d636c69656e742f62616467652e7376673f6272616e63683d6d61696e)[![Total Downloads](https://camo.githubusercontent.com/d0b3ae06fdb829f1e27df782eab5f61c2a2df9c75f3fdd719f1699d1bf7d7dab/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f66696c69736b6f2f666173746367692d636c69656e742e7376673f7374796c653d666c6174)](https://packagist.org/packages/filisko/fastcgi-client)

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
--------------

[](#-requirements)

- PHP &gt;= 7.2
- PSR-7 - HTTP mesage implementation
- PSR-17 - HTTP message factory implementation

🧑‍🔧 Installation
----------------

[](#‍-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](https://packagist.org/packages/filisko/fastcgi-client).

```
composer require filisko/fastcgi-client
```

🎯 Use Cases
-----------

[](#-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
-------

[](#-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](https://fastcgi-archives.github.io/FastCGI_Specification.html) works. Furthermore, the documentation helps turn the hard-to-understand code of a low-level protocol implementation into something understandable and maintainable.

👨‍💻 Usage
---------

[](#‍-usage)

TODO

---

📃 License and Contribution
--------------------------

[](#-license-and-contribution)

Please see [CHANGELOG](CHANGELOG.md) for more information about recent changes and [CONTRIBUTING](CONTRIBUTING.md) for contributing details.

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

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity14

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/42e0d72f42eb7d84f67e20d28606da42e5a3248ca908b1eadb4366aafeae2561?d=identicon)[filisko](/maintainers/filisko)

---

Top Contributors

[![filisko](https://avatars.githubusercontent.com/u/8798694?v=4)](https://github.com/filisko "filisko (85 commits)")

### Embed Badge

![Health badge](/badges/filisko-fastcgi-client/health.svg)

```
[![Health](https://phpackages.com/badges/filisko-fastcgi-client/health.svg)](https://phpackages.com/packages/filisko-fastcgi-client)
```

###  Alternatives

[friendsofsymfony/rest-bundle

This Bundle provides various tools to rapidly develop RESTful API's with Symfony

2.8k73.3M319](/packages/friendsofsymfony-rest-bundle)[php-http/discovery

Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations

1.3k309.5M1.2k](/packages/php-http-discovery)[nyholm/psr7

A fast PHP7 implementation of PSR-7

1.3k235.4M2.4k](/packages/nyholm-psr7)[pusher/pusher-php-server

Library for interacting with the Pusher REST API

1.5k94.8M293](/packages/pusher-pusher-php-server)[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78126.4M414](/packages/react-http)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
