|
10 years ago | |
---|---|---|
.. | ||
bin | update PHP README installation instructions, and dockerfile | 10 years ago |
ext/grpc | Merge github.com:grpc/grpc into you-complete-me | 10 years ago |
lib/Grpc | add PHP timeout interop test | 10 years ago |
tests | add PHP timeout interop test | 10 years ago |
.gitignore | ignore PHP vendor/ folder | 10 years ago |
README.md | update PHP README installation instructions, and dockerfile | 10 years ago |
composer.json | update PHP README installation instructions, and dockerfile | 10 years ago |
README.md
#Overview
This directory contains source code for PHP implementation of gRPC layered on shared C library.
#Status
Pre-Alpha : This gRPC PHP implementation is work-in-progress and is not expected to work yet.
ENVIRONMENT
Install php5
and php5-dev
.
To run the tests, additionally install phpunit
.
Alternatively, build and install PHP 5.5 or later from source with standard configuration options.
Build from Homebrew
On Mac OS X, install homebrew. On Linux, install linuxbrew. Run the following command to install gRPC.
$ curl -fsSL https://goo.gl/getgrpc | bash -s php
This will download and run the gRPC install script and compile the gRPC PHP extension.
Build from Source
Clone this repository
$ git clone https://github.com/grpc/grpc.git
Build and install the Protocol Buffers compiler (protoc)
$ cd grpc
$ git pull --recurse-submodules && git submodule update --init --recursive
$ cd third_party/protobuf
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
Build and install the gRPC C core
$ cd grpc
$ make
$ sudo make install
Build the gRPC PHP extension
$ cd grpc/src/php/ext/grpc
$ phpize
$ ./configure
$ make
$ sudo make install
In your php.ini file, add the line extension=grpc.so
to load the extension
at PHP startup.
Install Composer
$ cd grpc/src/php
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install
Unit Tests
Run unit tests
$ cd grpc/src/php
$ ./bin/run_tests.sh
Generated Code Tests
Install protoc-gen-php
$ cd grpc/src/php/vendor/datto/protobuf-php
$ gem install rake ronn
$ rake pear:package version=1.0
$ sudo pear install Protobuf-1.0.tgz
Generate client stub code
$ cd grpc/src/php
$ ./bin/generate_proto_php.sh
Run a local server serving the math services
- Please see Node on how to run an example server
$ cd grpc/src/node
$ npm install
$ nodejs examples/math_server.js
Run the generated code tests
$ cd grpc/src/php
$ ./bin/run_gen_code_test.sh