gRPC for PHP のインストール

gRPC は、最新のオープンソースの高性能リモート プロシージャ コール フレームワークです。gRPC 対応 API 用の PHP クライアント ライブラリを使用する場合は、gRPC for PHP をインストールする必要があります。このチュートリアルでは、gRPC をインストールして有効にする方法を説明します。

目標

  • gRPC for PHP 拡張機能をインストールします。
  • gRPC for PHP 拡張機能を有効にします。

要件

  • PHP 5.5 以降または PHP 7.0 以降
  • PECL(ソースからビルドしない場合)
  • Composer

PECL のインストール

Ubuntu / Debian

PHP 5 の場合

sudo apt-get install autoconf libz-dev php5-dev php-pear

PHP 7 の場合

sudo apt-get install autoconf libz-dev php7.0-dev php-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 php56w-devel php-pear phpunit 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 拡張機能をソースからコンパイルするには、以下の手順に従います。

  1. GitHub から gRPC レポジトリのクローンを作成します。

    git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
    
  2. gRPC C コアライブラリをビルドしてインストールします。

    cd grpc
    git submodule update --init
    make
    sudo make install
    
  3. gRPC for PHP 拡張機能をコンパイルします。

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

Windows

Windows ユーザーは、PECL ウェブサイトからプリコンパイル済みの gRPC を直接ダウンロードできます。

php.ini で gRPC 拡張機能を有効にする

Linux / macOS

次の行を php.ini ファイルの任意の場所に追加します(例: /etc/php7/cli/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 パッケージを要求します。

composer require "grpc/grpc:^v1.1.0"

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:^v3.3.0"

次のステップ

gRPC と gRPC for PHP 拡張機能のインストールが完了したら、Cloud Spanner などの gRPC 対応 API を試してみましょう。

このページは役立ちましたか?評価をお願いいたします。