Php Laravel 5.7 gRPC集成
我已经在核心PHP中安装了gRPC,它运行良好,但我想在Laravel5.7中使用它。我使用Php Laravel 5.7 gRPC集成,php,laravel-5,grpc,Php,Laravel 5,Grpc,我已经在核心PHP中安装了gRPC,它运行良好,但我想在Laravel5.7中使用它。我使用composer.json下载了gRPC。现在我不知道我该怎么做才能在其中使用gRPC 我在composer.json文件中添加了以下内容 "require": { "datto/protobuf-php": "dev-master", "grpc/grpc": "^1.15.0" }, "repositories": [ {
composer.json
下载了gRPC。现在我不知道我该怎么做才能在其中使用gRPC
我在composer.json文件中添加了以下内容
"require": {
"datto/protobuf-php": "dev-master",
"grpc/grpc": "^1.15.0"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/stanley-cheung/Protobuf-PHP"
}
]
但现在我不知道下一步该做什么。如果有人知道,请告诉我。我有我的gRPC核心PHP代码(核心库示例),我是从这个web url设置的。所以我只想集成到laravel中。您不再需要这些了
"datto/protobuf-php": "dev-master",
"repositories": [
{
"type": "vcs",
"url": "https://github.com/stanley-cheung/Protobuf-PHP"
}
]
相反,您应该将“google/protobuf”:“^3.6.1”
添加到您的要求中
以此为例:
这些版本已经过时-只需看看最新版本。如何将protoc生成的文件与Laravel(5.7)一起使用。
- 像平常一样准备描述服务的.proto文件
- 设置为包名
package app.grpc代码>
- 运行生成命令:
protoc--php\u out=./--grpc\u out=./--plugin=protoc gen grpc=/your/path/to/grpc\u php\u plugin yourfile.proto
- 现在在laravel应用程序内复制应用程序/Grpc
- 将GPBMetadata文件夹复制为laravel根目录中的新文件夹
- 更改自动加载类映射部分中的
composer.json
文件插入GPBMetadata
位置(见下文)
- 运行命令
composer dump autoload
- 现在,您可以在任何控制器中使用生成的类,请记住在顶部添加
use App\Grpc\YourClassName
如果有人对此有更好的解决方案,请告诉我
composer.json的相关部分:
我已将datto/protobuf php
替换为google/protobuf:“^3.6.1
。但是我不知道我应该如何在laravel中配置gRPC。添加这行“google/protobuf”后:“^3.6.1”安装依赖项时出现任何错误?什么是“gRPC\u php\u插件”插件?我遵循了这里的说明:但它总是说:“protoc gen php:程序未找到或不可执行--php_out:protoc gen php:插件失败,状态代码为1。”@JohnMellor该插件是从proto文件生成php文件所必需的。它必须通过这里的步骤单独构建,为了构建插件,我必须安装以下依赖项(automake、libtool、autoconf、build-essential、shtool)。
...
"autoload": {
"classmap": [
"database/seeds",
"database/factories",
"GPBMetadata"
],
"psr-4": {
"App\\": "app/"
}
}
...