gRPC 是一种高性能的现代开源远程过程调用框架。 如果要将 PHP 客户端库用于已启用 gRPC 的 API,则必须安装适用于 PHP 的 gRPC。本教程介绍如何安装和启用 gRPC。
目标
- 安装适用于 PHP 的 gRPC 扩展程序。
- 启用适用于 PHP的 gRPC 扩展程序。
使用要求
安装 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 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 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 运行时库
您可以从两个 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
软件包执行 require 命令。
composer require "google/protobuf:^3.17"
后续步骤
现在您已安装 gRPC 和 gRPC PHP 扩展程序,请试用启用了 gRPC 的 API,例如 Spanner。