Installare gRPC per PHP

gRPC è un framework di chiamata di procedura remota open source moderno e ad alte prestazioni. Se vuoi utilizzare le librerie client PHP per le API abilitate per gRPC, devi installare gRPC per PHP. Questo tutorial spiega come installare e abilitare gRPC.

Obiettivi

  • Installare l'estensione gRPC per PHP.
  • Attiva l'estensione gRPC per PHP.

Requisiti

  • PHP 7.0 o versioni successive
  • PECL (a meno che non crei dall'origine)
  • Compositore

Installazione di PECL

Ubuntu / Debian

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

Se utilizzi PHP 7.4 o versioni successive, devi installare PHP con il flag --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

Windows non richiede PECL.

Installazione di 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

Segui le istruzioni ufficiali per l'installazione di Composer per Windows.

Installazione dell'estensione gRPC

Utilizzo di PECL

sudo pecl install grpc

Consente di compilare e installare l'estensione PHP gRPC nella directory dell'estensione PHP standard.

Crea dall'origine

Segui queste istruzioni per compilare la libreria di base gRPC e l'estensione PHP dall'origine.

  1. Clona il repository gRPC da GitHub.

    git clone https://github.com/grpc/grpc
    
  2. Crea e installa la libreria di base 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. Compila l'estensione PHP gRPC.

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

Windows

Gli utenti Windows possono scaricare la gRPC precompilata direttamente dal sito web di PECL.

Leggi la documentazione relativa ai file PHP per l'installazione di estensioni su Windows.

Attivare l'estensione gRPC in php.ini

Linux / macOS

Aggiungi questa riga in qualsiasi punto del file php.ini, ad esempio /etc/php7/cli/php.ini. Per trovare questo file, esegui php --ini.

extension=grpc.so

Windows

Aggiungi questa riga in qualsiasi punto del file php.ini, ad esempio C:\Program Files\PHP\7.3\php.ini.

extension=php_grpc.dll

Aggiungere gRPC come dipendenza Composer

Utilizza Composer per aggiungere il pacchetto grpc/grpc al tuo progetto PHP:

composer require "grpc/grpc:^1.38"

Installazione della libreria di runtime protobuf

Puoi scegliere tra due librerie di runtime protobuf. Le API che offrono sono identiche. L'implementazione C ha un rendimento migliore rispetto all'implementazione PHP (nativa), mentre l'implementazione nativa è più facile rispetto all'implementazione C.

Implementazione C

Per migliorare le prestazioni con gRPC, attiva l'estensione protobuf C.

Linux / MacOS

Installa l'estensione protobuf.so utilizzando PECL.

sudo pecl install protobuf

Ora aggiungi questa riga al file php.ini, ad esempio: /etc/php5/cli/php.ini.

extension=protobuf.so

Windows

Scarica l'estensione protobuf precompilata direttamente dal sito web di PECL.

Ora aggiungi questa riga al file php.ini, ad esempio: C:\Program Files\PHP\7.3\php.ini.

extension=php_protobuf.dll

Implementazione PHP

Per semplificare l'installazione, richiedi il pacchetto google/protobuf utilizzando Composer.

composer require "google/protobuf:^3.17"

Passaggi successivi

Ora che hai installato gRPC e l'estensione PHP gRPC, prova le API abilitate per gRPC, come Spanner.