Как инициализировать Cloud Firestore в php? - PullRequest
0 голосов
/ 20 апреля 2019

Я следовал этим инструкциям, чтобы использовать Firestore в PHP: https://github.com/googleapis/google-cloud-php-firestore https://firebase.google.com/docs/firestore/quickstart

, но когда я загружаю свою страницу, это сообщение отображается:

Google \ ApiCore \ ValidationException: ошибка рендеринга 'projects / {project = } / database / {database = }': ожидаемый связывающий 'проект' соответствует сегменту '{project = *}', вместо этого полученnull Предоставленные привязки: Массив ([проект] => [база данных] => (по умолчанию)) в C: \ wamp64 \ www \ php \ vendor \ google \ gax \ src \ ResourceTemplate \ RelativeResourceTemplate.php в строке 238 '

Это мой код:

composer.json:

 {
    "require": {
        "google/cloud-firestore": "^1.4",
        "grpc/grpc": "v1.19.0"
    }
}

index.php (копия примера):

require ('vendor/autoload.php');
use Google\Cloud\Firestore\FirestoreClient;

/**
 * Initialize Cloud Firestore with default project ID.
 * ```
 * initialize();
 * ```
 */
    // Create the Cloud Firestore client
    $db = new FirestoreClient();
    printf('Created Cloud Firestore client with default project ID.' . 
PHP_EOL);



$docRef = $db->collection('users')->document('lovelace');
$docRef->set([
    'first' => 'Ada',
    'last' => 'Lovelace',
    'born' => 1815
]);

1 Ответ

3 голосов
/ 20 апреля 2019

Похоже, у вас не установлен идентификатор проекта по умолчанию.

Попробуйте установить переменную окружения GCLOUD_PROJECT для идентификатора вашего проекта.

set GCLOUD_PROJECT=PROJECT_ID

Вы также можете попробовать установитьИдентификатор проекта, например:

$db = new FirestoreClient([
        'projectId' => 'my-project-id',
    ]);
...