Julien Boeuf 5cc1e2ec4b Fixing PHP. 10 ani în urmă
..
bin e726a53a6c php script minor fix 10 ani în urmă
ext 5cc1e2ec4b Fixing PHP. 10 ani în urmă
lib fea1f68f7e php: fixed constant typo 10 ani în urmă
tests 4c0fcda20c php: add tests for waitForReady 10 ani în urmă
.gitignore ff73231610 ignore PHP vendor/ folder 11 ani în urmă
README.md 1894f188bf update installation instructions, review feedback 10 ani în urmă
composer.json a75098d0af add user-agent for php 10 ani în urmă

README.md

#Overview

This directory contains source code for PHP implementation of gRPC layered on shared C library.

#Status

Alpha : Ready for early adopters

Environment

Prerequisite: PHP 5.5 or later, phpunit, pecl

Linux:

$ sudo apt-get install php5 php5-dev phpunit php-pear

Mac OS X:

$ curl https://phar.phpunit.de/phpunit.phar -o phpunit.phar
$ chmod +x phpunit.phar
$ sudo mv phpunit.phar /usr/local/bin/phpunit

$ curl -O http://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar

Quick Install

Linux (Debian):

Add Debian unstable to your sources.list file. Example:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" | \
sudo tee -a /etc/apt/sources.list

Install the gRPC Debian package

sudo apt-get update
sudo apt-get install libgrpc-dev

Install the gRPC PHP extension

sudo pecl install grpc-alpha

Mac OS X:

Install homebrew. Example:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Install the gRPC core library and the PHP extension in one step

$ 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 libraries

$ cd grpc
$ make
$ sudo make install

Install the gRPC PHP extension

$ sudo pecl install grpc-alpha

OR

$ 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