tree: 940fde038adb50a3df37ae9ec8a0e29a85938794 [path history] [tgz]
  1. bin/
  2. ext/
  3. lib/
  4. tests/
  5. .gitignore
  6. composer.json
  7. composer.lock
  8. README.md
src/php/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.

LAYOUT

Directory structure is as generated by the PHP utility ext_skel

ENVIRONMENT

Install php5 and php5-dev.

To run the tests, additionally install php5-readline and phpunit.

Alternatively, build and install PHP 5.5 or later from source with standard configuration options.

To also download and install protoc and the PHP code generator.

apt-get install -y procps
curl -sSL https://get.rvm.io | sudo bash -s stable --ruby
git clone git@github.com:google/protobuf.git
cd protobuf
./configure
make
make install
git clone git@github.com:murgatroid99/Protobuf-PHP.git
cd Protobuf-PHP
rake pear:package version=1.0
pear install Protobuf-1.0.tgz

BUILDING

  1. In ./ext/grpc, run the command phpize (distributed with PHP)
  2. Run ./ext/grpc/configure
  3. In ./ext/grpc, run make and sudo make install
  4. In your php.ini file, add the line extension=grpc.so to load the extension at PHP startup.

PHPUnit

This repo now has PHPUnit tests, which can by run by executing ./bin/run_tests.sh after building.

There is also a generated code test (./bin/run_gen_code_test.sh), which tests the stub ./tests/generated_code/math.php against a running localhost server serving the math service. That stub is generated from ./tests/generated_code/math.proto.