Menginstal gRPC untuk PHP

gRPC adalah framework panggilan prosedur jarak jauh yang modern, open source, dan berperforma tinggi. Jika ingin menggunakan library klien PHP untuk API yang mendukung gRPC, Anda harus menginstal gRPC untuk PHP. Tutorial ini menjelaskan cara menginstal dan mengaktifkan gRPC.

Tujuan

  • Instal ekstensi gRPC untuk PHP.
  • Aktifkan ekstensi gRPC untuk PHP.

Persyaratan

  • PHP 7.0 atau yang lebih baru
  • PECL (kecuali Anda membuat dari sumber)
  • Komposer

Menginstal PECL

Ubuntu / Debian

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

Jika menggunakan PHP 7.4+, PHP harus sudah diinstal dengan 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 tidak memerlukan PECL.

Menginstal 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

Ikuti petunjuk penginstalan Composer resmi untuk Windows.

Menginstal ekstensi gRPC

Menggunakan PECL

sudo pecl install grpc

Kode ini mengompilasi dan menginstal ekstensi PHP gRPC ke dalam direktori ekstensi PHP standar.

Membangun dari sumber

Ikuti petunjuk berikut untuk mengompilasi library inti gRPC dan ekstensi PHP dari sumber.

  1. Clone repositori gRPC dari GitHub.

    git clone https://github.com/grpc/grpc
    
  2. Build dan instal library inti 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. Kompilasi ekstensi PHP gRPC.

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

Windows

Pengguna Windows dapat mendownload gRPC yang telah dikompilasi sebelumnya langsung dari situs PECL.

Baca dokumentasi PHP untuk menginstal ekstensi di Windows.

Aktifkan ekstensi gRPC di php.ini

Linux / Mac

Tambahkan baris ini di mana saja dalam file php.ini Anda, misalnya, /etc/php7/cli/php.ini. Anda dapat menemukan file ini dengan menjalankan php --ini.

extension=grpc.so

Windows

Tambahkan baris ini di mana saja dalam file php.ini Anda, misalnya, C:\Program Files\PHP\7.3\php.ini.

extension=php_grpc.dll

Menambahkan gRPC sebagai dependensi Composer

Gunakan Composer untuk menambahkan paket grpc/grpc ke project PHP Anda:

composer require "grpc/grpc:^1.38"

Menginstal library runtime protobuf

Anda dapat memilih dari dua library runtime protobuf. API yang ditawarkan identik. Implementasi C berperforma lebih baik daripada implementasi PHP (native), sedangkan implementasi native diinstal lebih mudah daripada implementasi C.

Implementasi C

Untuk performa yang lebih baik dengan gRPC, aktifkan ekstensi C protobuf.

Linux / MacOS

Instal ekstensi protobuf.so menggunakan PECL.

sudo pecl install protobuf

Sekarang tambahkan baris ini ke file php.ini Anda, misalnya, /etc/php5/cli/php.ini.

extension=protobuf.so

Windows

Download ekstensi protobuf yang telah dikompilasi sebelumnya langsung dari situs PECL.

Sekarang tambahkan baris ini ke file php.ini Anda, misalnya, C:\Program Files\PHP\7.3\php.ini.

extension=php_protobuf.dll

Implementasi PHP

Untuk penginstalan yang lebih mudah, wajibkan paket google/protobuf dengan menggunakan Composer.

composer require "google/protobuf:^3.17"

Langkah selanjutnya

Setelah menginstal gRPC dan ekstensi PHP gRPC, coba API dengan gRPC aktif seperti Spanner.