2016-07-04 13:00

在Laravel中使用grpc,找不到“Class'Grpc \ ChannelCredentials'。”


I am trying to use grpc in a Laravel project.

This is a part of my composer.json file:

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

I have generated a php file from my proto file. It is placed in app/services/ and included in the composer.json autoload.files section. I have run composer install without issues.

I have created a route for testing. It has the following code:

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

But I receive the response Class 'Grpc\ChannelCredentials' not found. when I visit the route.

The Laravel app is running in a Homestead vagrant box.

I don't know how to proceed. Am I missing a dependency? Did I miss to install something?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • dtg7662 dtg7662 5年前

    I have solved the problem, but I am not sure which of the below steps was the solution.

    Things I tried:

    • I installed grpc-beta in the Homestead box (sudo pecl install grpc-beta).
    • I updated from "grpc/grpc": "dev-release-0_13" to "grpc/grpc": "^0.15.0".
    • I added a repository to composer.json:

      "repositories": [
              "type": "vcs",
              "url": ""
    • I restarted NGINX inside the Homestead box
    • I updated composer with composer self-update

    I added this as an answer. Please advise if it would be better suited as an edit to the opening question or as a comment.

    Also, it would be interesting to learn what the solution was.

    点赞 评论 复制链接分享
  • duanjiao6730 duanjiao6730 3年前

    I had the same issue but the above solution didn't work for me. My problem was that the grpc\grpc PHP package in composer and the library were not the same version. I had 1.15 of the PHP package and 1.16 of the library.

    You can install specific versions of the library with the following command:

    sudo pecl install grpc-1.15.0
    点赞 1 评论 复制链接分享
  • douyan4470 douyan4470 5年前

    Try this

    • composer update
    • Replace vat_service\VatServiceClient to \vat_service\VatServiceClient

    If not help, read here

    If this does not help.Write in the comments.Let us try to something else

    点赞 评论 复制链接分享