У меня ошибка с Google Firestore PHP Api, когда я пытаюсь подключиться к серверу Firestore, выдает мне эту ошибку: The requested client requires the gRPC extension. Please see https://cloud.google.com/php/grpc for installation instructions
.Ошибка происходит от vendor/google/cloud/Core/src/ClientTrait.php
, потому что функция isGrpLoaded отвечает ложным:
/**
* Abstract the checking of the grpc extension for unit testing.
*
* @codeCoverageIgnore
* @return bool
*/
protected function isGrpcLoaded()
{
return extension_loaded('grpc');
}
Я уже установил gRPC, следуя этой инструкции от Google https://cloud.google.com/php/grpc. Я устанавливаю PECL, устанавливаю Composer, устанавливаю gRPCрасширение, добавьте расширение grpc в файл php.ini, установите библиотеку Protobuf Runtime, а также добавьте расширение protobuf в php.ini.
Итак, в моем композиторе у меня есть следующие строки:
...
google/grpc-gcp 0.1.3 gRPC GCP library for channel management
google/protobuf v3.6.1 proto library for PHP
grpc/grpc 1.15.0 gRPC library for PHP
...
В моем файле php.ini есть две новые строки:
extension=protobuf.so
extension=grpc.so
Проблема возникает здесь, когда я выполняю в моем терминале сервера эту строку:
sudo php -r "echo extension_loaded('grpc') ? 'yes' : 'no';"
серверответьте мне yes
, все вроде нормально.
Но если я создам php-файл следующим образом:
<?php
echo extension_loaded('grpc') ? 'yes' : 'no';
?>
Ответ будет no
.
Я использую
Ubuntu 16.04.5 LTS
PHP 7.2.13