Skip to content

0rpc/zerorpc-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zerorpc PHP Client

Quick start

  • check dependences
$ 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

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:

Read official python server guide and start two simple time server.

$ zerorpc --server --bind tcp://*:1234 time
$ zerorpc --server --bind tcp://*:2345 time

Client:

$ php example/time.php

This will return:

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.

Credits

Origin main author of this repo is: @liangshan Other contributors: @wenzong, @thewinterwind