在 Laravel、"Class 'Grpc\ChannelCredentials' not found." 中使用 grpc
Using grpc in Laravel, "Class 'Grpc\ChannelCredentials' not found."
我正在尝试在 Laravel 项目中使用 grpc。
这是我的 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 vagrant box 中。
我不知道如何进行。我缺少依赖项吗?我是不是没安装什么东西?
试试这个
- 作曲家更新
- 将vat_service\VatServiceClient替换为
\vat_service\VatServiceClient
如果没有帮助,请阅读此处
https://github.com/grpc/grpc/tree/release-0_14/examples/php
如果在 comments.Let 中没有 help.Write 我们尝试其他方法
我已经解决了这个问题,但我不确定以下哪个步骤是解决方案。
我尝试过的事情:
- 我在 Homestead box (
sudo pecl install grpc-beta
) 中安装了 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"
}
],
- 我在 Homestead 盒子里重启了 NGINX
- 我用
composer self-update
更新了作曲家
我添加了这个作为答案。请告知是否更适合作为对开放问题的编辑或作为评论。
此外,了解解决方案会很有趣。
我遇到了同样的问题,但上述解决方案对我不起作用。我的问题是 composer 中的 grpc\grpc
PHP 包和 grpc.so 库不是同一个版本。我有 1.15 个 PHP 包和 1.16 个库。
您可以使用以下命令安装特定版本的库:
sudo pecl install grpc-1.15.0
我正在尝试在 Laravel 项目中使用 grpc。
这是我的 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 vagrant box 中。
我不知道如何进行。我缺少依赖项吗?我是不是没安装什么东西?
试试这个
- 作曲家更新
- 将vat_service\VatServiceClient替换为 \vat_service\VatServiceClient
如果没有帮助,请阅读此处 https://github.com/grpc/grpc/tree/release-0_14/examples/php
如果在 comments.Let 中没有 help.Write 我们尝试其他方法
我已经解决了这个问题,但我不确定以下哪个步骤是解决方案。
我尝试过的事情:
- 我在 Homestead box (
sudo pecl install grpc-beta
) 中安装了 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" } ],
- 我在 Homestead 盒子里重启了 NGINX
- 我用
composer self-update
更新了作曲家
我添加了这个作为答案。请告知是否更适合作为对开放问题的编辑或作为评论。
此外,了解解决方案会很有趣。
我遇到了同样的问题,但上述解决方案对我不起作用。我的问题是 composer 中的 grpc\grpc
PHP 包和 grpc.so 库不是同一个版本。我有 1.15 个 PHP 包和 1.16 个库。
您可以使用以下命令安装特定版本的库:
sudo pecl install grpc-1.15.0