PHPackages                             cravler/dnode - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. cravler/dnode

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

cravler/dnode
=============

DNode RPC protocol for PHP 5.3

v0.2.2(11y ago)128.9k↓50%1MITPHPPHP &gt;=5.3.0

Since Oct 30Pushed 11y ago2 watchersCompare

[ Source](https://github.com/cravler/dnode-php)[ Packagist](https://packagist.org/packages/cravler/dnode)[ Docs](https://github.com/bergie/dnode-php)[ RSS](/packages/cravler-dnode/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (10)Used By (0)

DNode protocol for PHP
======================

[](#dnode-protocol-for-php)

This project implements the [DNode](http://substack.net/dnode) remote procedure call protocol for PHP. The intent is to enable PHP scripts to act as part of a distributed Node.js cloud, allowing Node to call PHP code, and PHP to call Node code.

You can read more about DNode and PHP in the [introductory blog post](http://bergie.iki.fi/blog/dnode-make_php_and_node-js_talk_to_each_other/).

[![Build Status](https://camo.githubusercontent.com/eb12cab49344972ebf9d9bde79b99a5aa9ff3e4e9eeb06420b72fdeabbca0cfa/68747470733a2f2f7365637572652e7472617669732d63692e6f72672f6265726769652f646e6f64652d7068702e706e673f6272616e63683d6d6173746572)](http://travis-ci.org/bergie/dnode-php)

Installing
----------

[](#installing)

dnode-php can be installed using the [Composer](http://packagist.org/) tool. You can either add `dnode/dnode` to your package dependencies, or if you want to install dnode-php as standalone, go to the main directory of this package and run:

```
$ wget http://getcomposer.org/composer.phar
$ php composer.phar install

```

You can then use the composer-generated autoloader to access the DNode classes:

```
require 'vendor/autoload.php';

```

Running the examples
--------------------

[](#running-the-examples)

After installing, you can run the DNode examples located in the examples directory. Each example contains both a client and a server.

For example:

```
$ php examples/simple/server.php
$ php examples/simple/client.php
n = 3300

```

The examples have been written to be compatible with the [DNode examples](https://github.com/substack/dnode/tree/master/example), meaning that you can use any combination of PHP-to-PHP, Node-to-Node, PHP-to-Node, or Node-to-PHP as you wish.

```
$ node simple/client.js
n = 3300

```

Current limitations
-------------------

[](#current-limitations)

- Only regular, non-encrypted TCP sockets are supported

Development
-----------

[](#development)

dnode-php is under heavy development. If you want to participate, please send pull requests.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~169 days

Recently: every ~154 days

Total

7

Last Release

4298d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/157440?v=4)[Sergei Vizel](/maintainers/cravler)[@cravler](https://github.com/cravler)

---

Top Contributors

[![bergie](https://avatars.githubusercontent.com/u/3346?v=4)](https://github.com/bergie "bergie (41 commits)")[![igorw](https://avatars.githubusercontent.com/u/88061?v=4)](https://github.com/igorw "igorw (33 commits)")[![cravler](https://avatars.githubusercontent.com/u/157440?v=4)](https://github.com/cravler "cravler (8 commits)")[![piotras](https://avatars.githubusercontent.com/u/232506?v=4)](https://github.com/piotras "piotras (3 commits)")[![frega](https://avatars.githubusercontent.com/u/183031?v=4)](https://github.com/frega "frega (2 commits)")[![interarticle](https://avatars.githubusercontent.com/u/1386918?v=4)](https://github.com/interarticle "interarticle (1 commits)")[![sasezaki](https://avatars.githubusercontent.com/u/42755?v=4)](https://github.com/sasezaki "sasezaki (1 commits)")[![Seldaek](https://avatars.githubusercontent.com/u/183678?v=4)](https://github.com/Seldaek "Seldaek (1 commits)")[![skenqbx](https://avatars.githubusercontent.com/u/1083944?v=4)](https://github.com/skenqbx "skenqbx (1 commits)")[![techdubb](https://avatars.githubusercontent.com/u/181554?v=4)](https://github.com/techdubb "techdubb (1 commits)")

---

Tags

rpcnodejsdnode

### Embed Badge

![Health badge](/badges/cravler-dnode/health.svg)

```
[![Health](https://phpackages.com/badges/cravler-dnode/health.svg)](https://phpackages.com/packages/cravler-dnode)
```

###  Alternatives

[fxp/composer-asset-plugin

NPM/Bower Dependency Manager for Composer

8894.8M41](/packages/fxp-composer-asset-plugin)[foxy/foxy

Fast, reliable, and secure NPM/Yarn/pnpm bridge for Composer

177287.5k25](/packages/foxy-foxy)[vladkens/autoprefixer

Run Autoprefixer using node.js in you php.

76333.5k3](/packages/vladkens-autoprefixer)[php-forge/foxy

Fast, reliable, and secure Bun/NPM/Yarn/pnpm bridge for Composer

45103.3k4](/packages/php-forge-foxy)

PHPackages © 2026

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