Библиотека gRPC установлена, но не работает - PullRequest
0 голосов
/ 20 декабря 2018

У меня ошибка с 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

1 Ответ

0 голосов
/ 20 декабря 2018

Я нашел ошибку.Ошибка была в том, что я отредактировал php.ini whats appers в Loaded Configuration File: /etc/php/7.2/cli/php.ini, но мне нужно было также отредактировать php.ini в Apache, этот файл: /etc/php/7.2/apache2/php.ini

...