Instalar gRPC para PHP

Objetivos

  • Instalar y habilitar la extensión gRPC para PHP.

Requisitos

  • PHP 5.5 y superior o PHP 7.0 y superior
  • PECL (a menos que se compile desde el origen)
  • Composer

Instalar PECL

Ubuntu/Debian

Para PHP5

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

Para PHP7

sudo apt-get install php7.0-dev php-pear phpunit

CentOS/RHEL 7

 sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
 sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
 sudo yum install php56w-devel php-pear phpunit gcc zlib-devel

Mac

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

Instalar Composer

Linux o Mac

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Instalar la extensión gRPC

Usar PECL

sudo pecl install grpc

Esto compila e instala la extensión gRPC para PHP en el directorio de extensiones estándar de PHP.

Compilar desde el origen

Sigue estas instrucciones para compilar la biblioteca principal de gRPC y la extensión PHP desde el origen.

  1. Clona el repositorio de gRPC desde GitHub.

    git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
    
  2. Crea e instala la biblioteca principal C de gRPC.

    cd grpc
    git pull --recurse-submodules && git submodule update --init --recursive
    make
    sudo make install
    
  3. Compila la extensión gRPC para PHP.

    cd src/php/ext/grpc
    phpize
    ./configure
    make
    sudo make install
    

Habilitar la extensión gRPC en php.ini

Añade la siguiente línea al archivo php.ini; por ejemplo, /etc/php5/cli/php.ini:

extension=grpc.so

Añadir gRPC como una dependencia de Composer

Requiere el paquete grpc/grpc con Composer.

composer require "grpc/grpc:^v1.1.0"

Instalar la biblioteca de tiempo de ejecución de búfer de protocolo

Hay dos bibliotecas de tiempo de ejecución de búfer de protocolo que se pueden elegir. Ambas son idénticas en cuanto a las API que ofrecen. La implementación C proporciona un mejor rendimiento, mientras que la implementación nativa es más fácil de instalar.

Implementación C

Para obtener un mejor rendimiento con gRPC, instala la extensión protobuf.so con PECL.

sudo pecl install protobuf

Ahora añade esta línea al archivo php.ini; por ejemplo, /etc/php5/cli/php.ini:

extension=protobuf.so

Implementación PHP

Para facilitar la instalación, solo se necesita el paquete google/protobuf con Composer.

composer require "google/protobuf:^v3.3.0"

Siguientes pasos

Ahora que se han instalado gRPC y la extensión gRPC para PHP, prueba las API habilitadas para gRPC, como Cloud Spanner.

¿Te ha resultado útil esta página? Enviar comentarios: