環境について
OS:AmazonLinux2
1.サービスアカウントキーを作成する
GoogleCloudPlatformの認証サービス画面より
「サービスアカウントキー」を作成する
※APIキーではない
サービスアカウント
「firebase-adminsdk」を選択
キータイプ
「JSON」
を選択して、作成する
2.環境変数を設定する
1.で取得したJSONファイルをLaravelプロジェクトのディレクトリに配置し
環境変数(GOOGLE_APPLICATION_CREDENTIALS)にファイルパスをセットする
export GOOGLE_APPLICATION_CREDENTIALS="Laravelプロジェクトのディレクトリ/*****.json"
3.gRPC For PHPのインストール
こちらのGoogleのガイドを参考にgrpcをインストール
# pecl install grpc
Build complete.
Don't forget to run 'make test'.
running: make INSTALL_ROOT="/var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0" install
Installing shared extensions: /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0/usr/lib64/php/modules/
running: find "/var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0" | xargs ls -dils
9083594 0 drwxr-xr-x 3 root root 17 12月 23 20:06 /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0
11304125 0 drwxr-xr-x 3 root root 19 12月 23 20:06 /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0/usr
19801702 0 drwxr-xr-x 3 root root 17 12月 23 20:06 /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0/usr/lib64
27955984 0 drwxr-xr-x 3 root root 21 12月 23 20:06 /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0/usr/lib64/php
3604422 0 drwxr-xr-x 2 root root 21 12月 23 20:06 /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0/usr/lib64/php/modules
3604421 35144 -rwxr-xr-x 1 root root 35985152 12月 23 20:06 /var/tmp/pear-build-rootyXfFt6/install-grpc-1.26.0/usr/lib64/php/modules/grpc.so
Build process completed successfully
Installing '/usr/lib64/php/modules/grpc.so'
install ok: channel://pecl.php.net/grpc-1.26.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=grpc.so" to php.ini
PHPのgrpc拡張機能を有効にする。
# vi /etc/php.d/20-grpc.ini
; Enable gRPC extension module
extension=grpc.so
# systemctl restart httpd
4.FirebaseAPIライブラリを追加
LaravelプロジェクトにFirebaseAPIライブラリを追加します。
#composer require "grpc/grpc:^v1.1.0"
#composer require "google/protobuf:^v3.3.0"
#composer require google/cloud-firestore