php-grpc

:electric_plug: Fast and furious GRPC server for PHP applications

Github stars Tracking Chart

PHP-GRPC

Latest Stable Version
GoDoc
Build Status
Go Report Card
Codecov

PHP-GRPC is an open-source (MIT) high-performance PHP GRPC server build at top of RoadRunner.
Server support both PHP and Golang services running within one application.

Features:

  • native Golang GRPC implementation compliant
  • minimal configuration, plug-and-play model
  • very fast, low footprint proxy
  • simple TLS configuration
  • debug tools included
  • Prometheus metrics
  • middleware and server customization support
  • code generation using protoc plugin (go get github.com/spiral/php-grpc/cmd/protoc-gen-php-grpc)
  • transport, message, worker error management
  • response error codes over php exceptions
  • works on Windows

Usage:

Install rr-grpc and protoc-gen-php-grpc by building it or use pre-build binaries.

Define your service schema using proto file. You can scaffold protobuf classes and GRPC service interfaces using:

$ protoc --php_out=target-dir/ --php-grpc_out=target-dir/ sample.proto

Make sure to install protoc compiler and run composer require spiral/php-grpc first

Implement needed classes and create worker.php to invoke your services.

Place .rr.yaml (or any other format supported by viper configurator) into the root of your project. You can run your application now:

$ rr-grpc serve -v -d

To reset workers state:

$ rr-grpc grpc:reset

To show workers statistics:

$ rr-grpc grpc:workers -i

See example.

You can find more details regarding server configuration at RoadRunner Wiki.

License:

MIT License (MIT). Please see LICENSE for more information. Maintained by SpiralScout.

Main metrics

Overview
Name With Ownerspiral-modules/php-grpc
Primary LanguageGo
Program languagePHP (Language Count: 4)
Platform
License:MIT License
所有者活动
Created At2018-10-10 07:19:39
Pushed At2022-01-20 20:24:02
Last Commit At2022-01-20 23:24:02
Release Count21
Last Release Namev1.6.0 (Posted on )
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count477
Watchers Count24
Fork Count48
Commits Count316
Has Issues Enabled
Issues Count45
Issue Open Count0
Pull Requests Count25
Pull Requests Open Count0
Pull Requests Close Count9
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private