При использовании grpc в Laravel, & quot; класс ‘Grpc \ ChannelCredentials’ не найден. & Quot;

Я пытаюсь использовать grpc в проекте Laravel.

Это часть моего файла composer.json:

"require": {
...
"datto/protobuf-php": "dev-master",
"google/auth": "^0.7.0",
"grpc/grpc": "dev-release-0_13",
...
}

Я сгенерировал php-файл из моего прото-файла. Он находится в app / services / и включен в composer.json autoload.files раздел. Я бегал composer install без проблем.

Я создал маршрут для тестирования. Он имеет следующий код:

$client = new vat_service\VatServiceClient('localhost:50051', [
'credentials' => Grpc\ChannelCredentials::createInsecure()
]);

Но я получаю ответ Class 'Grpc\ChannelCredentials' not found. когда я посещаю маршрут.

Приложение Laravel работает в бродячей коробке Homestead.

Я не знаю, как поступить. Я скучаю по зависимости? Я что-то пропустил, чтобы установить что-то?

2

Решение

Я решил проблему, но я не уверен, какой из следующих шагов был решением.

Вещи, которые я пытался:

  • Я установил grpc-beta в коробке Homestead (sudo pecl install grpc-beta).
  • Я обновил с "grpc/grpc": "dev-release-0_13" в "grpc/grpc": "^0.15.0",
  • Я добавил репозиторий в composer.json:

    "repositories": [
    {
    "type": "vcs",
    "url": "https://github.com/stanley-cheung/Protobuf-PHP"}
    ],
    
  • Я перезапустил NGINX в коробке Homestead
  • Я обновил композитор с composer self-update

Я добавил это как ответ. Посоветуйте, пожалуйста, лучше ли это подходит для редактирования вступительного вопроса или комментария.

Также было бы интересно узнать, каково было решение.

1

Другие решения

Попробуй это

  • обновление композитора
  • Замените vat_service \ VatServiceClient на
    \ Vat_service \ VatServiceClient

Если не поможет, прочитайте здесь
https://github.com/grpc/grpc/tree/release-0_14/examples/php

Если это не поможет. Напишите в комментариях. Давайте попробуем что-то еще

0

У меня была та же самая проблема, но вышеупомянутое решение не работало для меня. Моя проблема заключалась в том, что grpc\grpc Пакет PHP в composer и библиотека grpc.so были не одной и той же версии. У меня было 1.15 пакета PHP и 1.16 библиотеки.

Вы можете установить определенные версии библиотеки с помощью следующей команды:

sudo pecl install grpc-1.15.0
0
По вопросам рекламы [email protected]