PHPackages                             timostamm/protoc-h1-php-server - 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. [API Development](/categories/api)
4. /
5. timostamm/protoc-h1-php-server

ActiveLibrary[API Development](/categories/api)

timostamm/protoc-h1-php-server
==============================

PHP utilities to implement protobuf services on a simple HTTP server

v2.0.0(9mo ago)01471MITPHPPHP ^8.0CI failing

Since Nov 4Pushed 9mo ago2 watchersCompare

[ Source](https://github.com/timostamm/protoc-h1-php-server)[ Packagist](https://packagist.org/packages/timostamm/protoc-h1-php-server)[ RSS](/packages/timostamm-protoc-h1-php-server/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (5)Dependencies (6)Versions (9)Used By (0)

Protobuf RPC over HTTP 1 - PHP server
=====================================

[](#protobuf-rpc-over-http-1---php-server)

[![build](https://github.com/timostamm/protoc-h1-php-server/workflows/CI/badge.svg)](https://github.com/timostamm/protoc-h1-php-server/actions?query=workflow:%22CI%22)[![Packagist PHP Version](https://camo.githubusercontent.com/755fcb517f56834023e7b1a03fee68cff6c436d5783551bd0bdf91b0ba662952/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f74696d6f7374616d6d2f70726f746f632d68312d7068702d7365727665722f706870)](https://camo.githubusercontent.com/755fcb517f56834023e7b1a03fee68cff6c436d5783551bd0bdf91b0ba662952/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646570656e64656e63792d762f74696d6f7374616d6d2f70726f746f632d68312d7068702d7365727665722f706870)[![GitHub tag](https://camo.githubusercontent.com/39a502efcd5bc0eab845515f055626fa2c7364100c3209f683e9bdbfcb2c6b5f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f7461672f74696d6f7374616d6d2f70726f746f632d68312d7068702d7365727665723f696e636c7564655f70726572656c65617365733d26736f72743d73656d76657226636f6c6f723d626c7565)](https://github.com/timostamm/protoc-h1-php-server/releases/)[![License](https://camo.githubusercontent.com/d6bc2b26794002c24d023acaab01b6dbb953c57ab9cb80ba5b8aa2f2bd5de99a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c7565)](#license)

PHP utilities to implement protobuf services on a simple HTTP server.

Supports all unary RPC calls over HTTP 1.

For auto-generated clients, see

Let`s say you have this service defined in a proto file:

```
option php_generic_services = true;

service SearchService {

    rpc Search (SearchRequest) returns (SearchResponse);

}

```

From this file, protoc generates a generic service interface `SearchServiceInterface.php`. You just implement this interface with your business logic.

Then you can let `HttpHandler` take care of request and response:

```
#[Route(path: '{serviceName}/{methodName}', methods: ['PUT'])]
public function execute(RequestInterface $request, string $serviceName, string $methodName): Response
{
    $resolver = new ServiceResolver();
    $resolver->registerInstance(
        SearchServiceInterface::class, // the interface generated by protoc
        new SearchService() // your implementation of the interface
    );

    $handler = new HttpHandler($resolver);

    // turn on details in error messages
    $handler->setDebug(true);

    // will log exception details, regardless of debug mode
    $handler->setLogger($myPsrLogger);

    return $handler->handle($serviceName, $methodName, $request);
}
```

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance58

Moderate activity, may be stable

Popularity12

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 56.5% 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.

###  Release Activity

Cadence

Every ~305 days

Recently: every ~517 days

Total

8

Last Release

280d ago

Major Versions

v1.1.0 → v2.0.02025-09-16

PHP version history (3 changes)v1.0.0PHP ^7.1

v1.1.0PHP ^7.2 || ^8.0

v2.0.0PHP ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/6364011a12f22cb5046056371bde6170218218c560eddfdc08b4644b7648af78?d=identicon)[timostamm](/maintainers/timostamm)

---

Top Contributors

[![timostamm](https://avatars.githubusercontent.com/u/4289451?v=4)](https://github.com/timostamm "timostamm (13 commits)")[![ducrot](https://avatars.githubusercontent.com/u/3525119?v=4)](https://github.com/ducrot "ducrot (10 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/timostamm-protoc-h1-php-server/health.svg)

```
[![Health](https://phpackages.com/badges/timostamm-protoc-h1-php-server/health.svg)](https://phpackages.com/packages/timostamm-protoc-h1-php-server)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.8M712](/packages/sylius-sylius)[api-platform/core

Build a fully-featured hypermedia or GraphQL API in minutes!

2.6k50.1M314](/packages/api-platform-core)[google/gax

Google API Core for PHP

268111.6M515](/packages/google-gax)[craftcms/cms

Craft CMS

3.6k3.6M2.9k](/packages/craftcms-cms)[google/common-protos

Google API Common Protos for PHP

174112.8M64](/packages/google-common-protos)[googleads/google-ads-php

Google Ads API client for PHP

3478.1M11](/packages/googleads-google-ads-php)

PHPackages © 2026

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