Instalar gRPC para PHP

O gRPC é um framework de chamada de procedimento remoto moderno, de código aberto e alto desempenho. Se você quer usar bibliotecas de cliente PHP para APIs com gRPC, é preciso instalar o gRPC para PHP. Veja neste tutorial como instalar e ativar o gRPC.

Objetivos

  • Instalar a extensão gRPC para PHP.
  • Ativar a extensão gRPC para PHP.

Requisitos

  • PHP 7.0 ou versões mais recentes
  • PECL (a menos que você crie a partir da origem)
  • Composer

Como instalar o PECL

Ubuntu / Debian

sudo apt-get install autoconf zlib1g-dev php-dev php-pear

Se estiver usando o PHP 7.4 ou versões posteriores, o PHP precisa ter sido instalado com a sinalização --with-pear.

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 php-devel php-pear gcc zlib-devel

macOS

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

Windows

O Windows não requer PECL.

Como instalar o Composer

Linux

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

macOS

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

Windows

Siga as instruções de instalação oficiais do Composer (em inglês) para Windows.

Como instalar a extensão gRPC

Como usar o PECL

sudo pecl install grpc

Esse comando compila e instala a extensão PHP do gRPC no diretório de extensão padrão do PHP.

Criar a partir da fonte

Siga estas instruções para compilar a biblioteca central gRPC e a extensão PHP da fonte.

  1. Clone o repositório gRPC do GitHub.

    git clone https://github.com/grpc/grpc
    
  2. Crie e instale a biblioteca principal do gRPC C.

    cd grpc
    git submodule update --init
    make
    sudo make install
    
    It can take a few minutes to download and execute the library.
    If you have git version 1.8.4 or greater, you can speed up
    the `git submodule update --init` command by adding the `--depth=1`
    flag.
    
  3. Compile a extensão PHP do gRPC.

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

Windows

Os usuários de Windows podem fazer o download do gRPC pré-compilado diretamente do site do PECL (em inglês).

Leia a documentação do PHP para instalar as extensões no Windows.

Ativar a extensão gRPC em php.ini

Linux / macOS

Adicione esta linha em qualquer lugar do arquivo php.ini, por exemplo, /etc/php7/cli/php.ini. Para encontrar esse arquivo, execute php --ini.

extension=grpc.so

Windows

Adicione esta linha em qualquer lugar do arquivo php.ini, por exemplo, C:\Program Files\PHP\7.3\php.ini.

extension=php_grpc.dll

Adicionar gRPC como uma dependência do Composer

Use o Composer para adicionar o pacote grpc/grpc ao seu projeto em PHP:

composer require "grpc/grpc:^1.38"

Como instalar a biblioteca de ambiente de execução protobuf

É possível escolher entre duas bibliotecas de ambiente de execução protobuf. As APIs que elas oferecem são idênticas. A implementação C é melhor do que a implementação PHP (nativa), enquanto a nativa é mais fácil do que a C.

Implementação C

Para um melhor desempenho com o gRPC, ative a extensão C protobuf.

Linux/macOS

Instale a extensão protobuf.so usando PECL.

sudo pecl install protobuf

Agora, adicione esta linha ao arquivo php.ini, por exemplo, /etc/php5/cli/php.ini.

extension=protobuf.so

Windows

Faça o download da extensão protobuf pré-compilada diretamente do site do PECL (em inglês).

Agora, adicione esta linha ao arquivo php.ini, por exemplo, C:\Program Files\PHP\7.3\php.ini.

extension=php_protobuf.dll

Implementação PHP

Para facilitar a instalação, exija o pacote google/protobuf usando o Composer.

composer require "google/protobuf:^3.17"

A seguir

Agora que você instalou o gRPC e a extensão PHP para gRPC, teste as APIs ativadas para gRPC, como o Spanner.