spiral / php-grpc
v1.6.0
2021-12-12 18:48 UTC
Requires
- php: >=7.2
- ext-json: *
- google/protobuf: ^3.7
- spiral/roadrunner: ^1.8
- symfony/polyfill-php73: ^1.22
- symfony/polyfill-php80: ^1.22
Requires (Dev)
- jetbrains/phpstorm-attributes: ^1.0
- phpunit/phpunit: ^8.5|^9.0
- spiral/code-style: ^1.0
- symfony/var-dumper: >=4.4
- vimeo/psalm: ^4.6
README
⚠️ RRv2 protoc-gen-php-grpc
版本已发布: https://github.com/roadrunner-server/roadrunner/releases ⚠️
⚠️ RRv2 的 PHP 客户端
已在此处发布: https://github.com/spiral/roadrunner-grpc ⚠️
PHP-GRPC
PHP-GRPC 是一个开源(MIT)的高性能PHP GRPC 服务器,基于 RoadRunner 构建。服务器支持在同一应用程序中运行PHP和Golang服务。
注意
对于RoadRunner v2,请使用 RR-GRPC 库。
文档
特性
- 符合原生Go GRPC实现的规范
- 最小配置,即插即用模型
- 非常快,低内存占用代理
- 简单的TLS配置
- 包含调试工具
- Prometheus指标
- 支持中间件和服务器自定义
- 使用
protoc
插件进行代码生成(go get github.com/spiral/php-grpc/cmd/protoc-gen-php-grpc
) - 传输、消息、工作者错误管理
- 通过PHP异常返回错误代码
- 支持Windows
使用方法
通过构建它或使用 预构建的二进制文件 安装 rr-grpc
和 protoc-gen-php-grpc
。
使用proto文件定义您的服务模式。您可以使用以下方式生成protobuf类和GRPC 服务接口:
$ protoc --php_out=target-dir/ --php-grpc_out=target-dir/ sample.proto
请确保安装 protoc 编译器 并先运行
composer require spiral/php-grpc
。
实现 必要的类,并创建 worker.php 调用您的服务。
将 .rr.yaml(或viper配置器支持的任何其他格式)放入项目的根目录。现在您可以运行应用程序了
$ rr-grpc serve -v -d
重置工作者状态
$ rr-grpc grpc:reset
显示工作者统计信息
$ rr-grpc grpc:workers -i
查看 示例。
有关服务器配置的更多详细信息,请参阅 RoadRunner Wiki。
许可
MIT许可证(MIT)。请参阅许可证
获取更多信息。由SpiralScout维护。