gRPC は、最新のオープンソースの高性能リモート プロシージャ コール フレームワークです。gRPC 対応 API 用の PHP クライアント ライブラリを使用する場合は、gRPC for PHP をインストールする必要があります。このチュートリアルでは、gRPC をインストールして有効にする方法を説明します。
目標
- gRPC for PHP 拡張機能をインストールします。
- gRPC for PHP 拡張機能を有効にします。
要件
PECL のインストール
Ubuntu / Debian
sudo apt-get install autoconf zlib1g-dev php-dev php-pear
PHP 7.4 以降を使用する場合は、--with-pear
フラグを指定して PHP をインストールする必要があります。
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 では PECL は不要です。
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
Windows 用の公式の Composer インストール手順を実施してください。
gRPC 拡張機能のインストール
PECL を使用する
sudo pecl install grpc
これにより、gRPC for PHP 拡張機能がコンパイルされ、標準の PHP 拡張機能ディレクトリにインストールされます。
ソースからビルドする
gRPC コアライブラリと PHP 拡張機能をソースからコンパイルするには、以下の手順に従います。
GitHub から gRPC レポジトリのクローンを作成します。
git clone https://github.com/grpc/grpc
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.
gRPC for PHP 拡張機能をコンパイルします。
cd src/php/ext/grpc phpize ./configure make sudo make install
Windows
Windows ユーザーは、PECL ウェブサイトからプリコンパイル済みの gRPC を直接ダウンロードできます。
Windows での拡張機能のインストールに関する PHP のドキュメントをご覧ください。
php.ini で gRPC 拡張機能を有効にする
Linux / macOS
次の行を php.ini
ファイルの任意の場所に追加します(例: /etc/php7/cli/php.ini
)。
このファイルは php --ini
の実行により確認できます。
extension=grpc.so
Windows
次の行を php.ini
ファイルの任意の場所に追加します(例: C:\Program Files\PHP\7.3\php.ini
)。
extension=php_grpc.dll
gRPC を Composer 依存関係として追加する
Composer を使用して grpc/grpc
パッケージを PHP プロジェクトに追加します。
composer require "grpc/grpc:^1.38"
protobuf ランタイム ライブラリをインストールする
2 つの protobuf ランタイム ライブラリのいずれかを選択できます。提供される API は同等です。C 実装のほうが PHP (ネイティブ)実装より高いパフォーマンスが得られますが、ネイティブ実装のほうが C 実装よりインストールが簡単です。
C 実装
gRPC のパフォーマンスを向上させるには、protobuf の C 拡張機能を有効にします。
Linux / macOS
PECL を使用して protobuf.so
拡張機能をインストールします。
sudo pecl install protobuf
次の行を php.ini
(例: /etc/php5/cli/php.ini
)ファイルに追加します。
extension=protobuf.so
Windows
PECL ウェブサイトからプリコンパイル済みの protobuf 拡張機能を直接ダウンロードします。
次の行を php.ini
(例: C:\Program Files\PHP\7.3\php.ini
)ファイルに追加します。
extension=php_protobuf.dll
PHP 実装
もっと簡単にインストールするには、Composer を使用して google/protobuf
パッケージを要求します。
composer require "google/protobuf:^3.17"
次のステップ
gRPC と gRPC for PHP 拡張機能のインストールが完了したら、Spanner などの gRPC 対応 API を試してみましょう。