使用PHP连接到Firestore
准备Laravel环境
-
Laravel Sail
我使用的是PHP8。
groupadd:無效的群組ID ‘sail’。以下是解決方案:
安装gRPC。
-
DockerFileにgrpc、protobuf(grpcのパフォーマンスを向上させるライブラリ)をインストールするために記述追加
pecl install grpc && \
pecl install protobuf && \
php.iniに追加
extension=grpc.so
extension=protobuf.so
docker build
コンテナーに入ってcomposer require
composer require google/cloud-firestore
composer require kreait/laravel-firebase
composer require kreait/laravel-firebaseはいらないかもなあ
.envファイルに追加 hogehoge.jsonは以下設定で取得したファイル
GOOGLE_APPLICATION_CREDENTIALS=”/var/www/html/hogehoge.json”
设定
尝试使用 Cloud Firestore | Firebase
Google アプリケーションのデフォルト認証情報
サービスアカウント作成画面に移動
Google Cloud Platform
プロジェクトを選択
サービス アカウントの作成
サービスカウント名、説明(必要なら)を入力、作成して実行押下。
ロールを選択
cloud databastoreユーザ選択、続行、許可
サービス アカウント一覧画面で先程作成したメールアドレスを押下
キーを押下、鍵を追加、新しい鍵を作成、jsonが選択されている状態で作成押下
ここで作られたjsonファイルがGOOGLE_APPLICATION_CREDENTIALS
Laravelでとりあえずデータを取得してみる
Hogecontroller.php
collection(‘users’);
$snapshot = $usersRef->documents();
return view(‘document’, [
‘snapshot’ => $snapshot,
]);
}
}
请确认能在浏览器中获取数据。