zerorpc PHP Client
Quick start
$ composer install
- recommand installation for Mac
$ brew install zeromq --universal
$ brew install php56
$ brew install php56-msgpack
$ brew install php56-zmq
- Installing zerorpc on Ubuntu
$ sudo pecl install channel://pecl.php.net/msgpack-0.5.5
$ sudo apt-get install pkg-config
$ git clone git://github.com/mkoppanen/php-zmq.git
$ cd php-zmq && sudo phpize && ./configure
$ sudo make && make install
Note: Don't forget to add the extensions to your php.ini, (*1)
extension=msgpack.so
extension=zmq.so
Timeout Setting
-
$timeout
is in milliseconds
-
$client->setTimeout($timeout)
is only work on sync calls
-
Channel::dispatch($timeout)
is only work on async calls
Example
Server:, (*2)
Read [official python server guide][1] and start two simple time
server., (*3)
$ zerorpc --server --bind tcp://*:1234 time
$ zerorpc --server --bind tcp://*:2345 time
Client:, (*4)
$ php example/time.php
This will return:, (*5)
Example 1: start sync call:
cost 5.0087389945984 s
Example 2: start async call:
cost 3.0069580078125 s
Know Issue
We assume most of the PHP usage scenario is webserver, so LostRemoteException
is not implemented, and because of that heartbeat
is disabled., (*6)
Credits
Origin main author of this repo is: @liangshan
Other contributors: @wenzong, @thewinterwind, (*7)