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
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.
Clone repositori gRPC dari GitHub.
git clone https://github.com/grpc/grpc
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.
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.