PHP용 gRPC 설치

gRPC는 최신 오픈소스 고성능 리모트 프로시져 콜 프레임워크입니다. PHP 클라이언트 라이브러리를 gRPC 지원 API에 사용하려면 PHP용 gRPC를 설치해야 합니다. 이 가이드에서는 gRPC를 설치하고 사용하는 방법을 설명합니다.

목표

  • PHP용 gRPC 확장 프로그램을 설치합니다.
  • PHP용 gRPC 확장 프로그램을 사용 설정합니다.

요구사항

  • PHP 7.0 이상
  • PECL(소스에서 빌드하지 않는 경우)
  • Composer

PECL 설치

Ubuntu / Debian

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

PHP 7.4 이상을 사용할 경우 PHP가 --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는 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 확장 프로그램을 컴파일합니다.

  1. GitHub에서 gRPC 저장소를 복제합니다.

    git clone --depth=1 -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
    
    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. 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

Composer 종속성으로 gRPC 추가

Composer를 사용하여 PHP 프로젝트에 grpc/grpc 패키지를 추가합니다.

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

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 패키지를 요구합니다.

composer require "google/protobuf:^v3.3.0"

다음 단계

이제 gRPC 및 gRPC PHP 확장 프로그램을 설치했으므로 Cloud Spanner와 같은 gRPC 사용 설정 API를 사용해 봅니다.