PHPackages                             hcs-llc/php-json-rpc-http - 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. hcs-llc/php-json-rpc-http

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

hcs-llc/php-json-rpc-http
=========================

Maintained fork of the abandoned datto/json-rpc-http package. Provides an HTTP client and server for JSON-RPC 2.0.

6.0.0(8mo ago)163LGPL-3.0-or-laterPHPPHP ^7.4 || ^8.0

Since May 22Pushed 6mo ago1 watchersCompare

[ Source](https://github.com/hcs-llc/php-json-rpc-http)[ Packagist](https://packagist.org/packages/hcs-llc/php-json-rpc-http)[ Docs](https://www.hawkinscomputerservices.com/)[ RSS](/packages/hcs-llc-php-json-rpc-http/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (2)Versions (24)Used By (0)

JSON-RPC over HTTP(S) for PHP
=============================

[](#json-rpc-over-https-for-php)

**Note:** This is a maintained fork of the original [datto/json-rpc-http](https://github.com/datto/php-json-rpc-http) package, which has been abandoned. This repository will be kept up-to-date with bug fixes and new features.

Overview
--------

[](#overview)

This package allows you to set up a JSON-RPC client and/or server over HTTP(S), using your own PHP code to evaluate the requests.

This package abstracts away the details of the JSON-RPC messaging format and the HTTP(S) headers that are necessary for the client and server to communicate successfully.

You're free to use your own library to handle the requests. Likewise, you're free to route requests to your server endpoint through any system that you prefer! (See the "examples" folder for ready-to-use examples.)

This package allows you to communicate with a URL endpoint: If you don't need to send or receive HTTP(S) headers, but just want to abstract away the internal JSON-RPC messaging format, then you should use the [php-json-rpc](https://github.com/hcs-llc/php-json-rpc) package instead.

Features
--------

[](#features)

- Correct: fully compliant with the [JSON-RPC 2.0 specifications](http://www.jsonrpc.org/specification)
- Reliable: works in all environments (even when CURL is not installed)
- Flexible: you can choose your own system for interpreting the JSON-RPC method strings
- Minimalistic: just two tiny files
- Ready to use, with working examples

Examples
--------

[](#examples)

### Client

[](#client)

```
$client = new Client('http://api.example.com');

$client->query(1, 'add', array(1, 2));

$reply = $client->send();
```

### Server

[](#server)

```
$api = new Api();

$server = new Server($api);

$server->reply();
```

*See the "examples" folder for more examples.*

Requirements
------------

[](#requirements)

- PHP &gt;= 7.0

License
-------

[](#license)

This package is released under an open-source license: [LGPL-3.0](https://www.gnu.org/licenses/lgpl-3.0.html)

Installation
------------

[](#installation)

If you're using [Composer](https://getcomposer.org/), you can include this library ([hcs-llc/php-json-rpc-http](https://packagist.org/packages/hcs-llc/php-json-rpc-http)) like this:

```
composer require "hcs-llc/php-json-rpc-http"

```

Getting started
---------------

[](#getting-started)

1. Try the examples: Look in the "examples" directory and follow the README instructions.
2. After you've successfully run an example, replace the example "src" code with your own code.
3. Call the new API from within your own project!

Changelog
---------

[](#changelog)

See what has changed: [Changelog](https://github.com/hcs-llc/php-json-rpc-http/blob/master/CHANGELOG.md)

Original Author
---------------

[](#original-author)

[Spencer Mortensen](http://spencermortensen.com/contact/)

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance63

Regular maintenance activity

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 92.2% 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 ~172 days

Recently: every ~550 days

Total

23

Last Release

267d ago

Major Versions

1.0.0 → 2.0.02015-07-24

2.0.1 → 3.0.02015-08-17

3.2.1 → 4.0.02018-05-17

4.0.4 → 5.0.02019-07-26

5.0.6 → 6.0.02025-09-30

PHP version history (3 changes)1.0.0PHP &gt;=5.3.0

5.0.0PHP &gt;=7.0.0

6.0.0PHP ^7.4 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/d2a15ef88fd6e6907ddef1fdac56b7a35bea7f0cf3500803e1b8e1605a25fb8b?d=identicon)[RLHawk1](/maintainers/RLHawk1)

---

Top Contributors

[![smortensen](https://avatars.githubusercontent.com/u/2285119?v=4)](https://github.com/smortensen "smortensen (47 commits)")[![RLHawk1](https://avatars.githubusercontent.com/u/1224305?v=4)](https://github.com/RLHawk1 "RLHawk1 (3 commits)")[![oaks836](https://avatars.githubusercontent.com/u/235339305?v=4)](https://github.com/oaks836 "oaks836 (1 commits)")

---

Tags

httpphpjsonclientrpcserverjsonrpcjson-rpcphp-json-rpc

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/hcs-llc-php-json-rpc-http/health.svg)

```
[![Health](https://phpackages.com/badges/hcs-llc-php-json-rpc-http/health.svg)](https://phpackages.com/packages/hcs-llc-php-json-rpc-http)
```

###  Alternatives

[datto/json-rpc-http

HTTP client and server for JSON-RPC 2.0

64535.4k5](/packages/datto-json-rpc-http)[graze/guzzle-jsonrpc

JSON-RPC 2.0 client for Guzzle

931.2M24](/packages/graze-guzzle-jsonrpc)[datto/json-rpc

Fully unit-tested JSON-RPC 2.0 for PHP

1951.3M14](/packages/datto-json-rpc)

PHPackages © 2026

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