grpc fastcgi proxy

其他类别 2025-08-17

grpc-fastcgi-proxy

简单的grpc-to-fastcgi代理。

地位

这不仅仅是一个实验。它在琐碎的示例案例中起作用。

动机

有一个用于PHP的官方GRPC客户端,但没有服务器支持。在我的Dayjob中,我们使用了很多PHP,所以我想在PHP中尝试使用GRPC服务器。

这个项目只是代理。还有另一个带有示例PHP应用程序的回购。该示例用于该项目的测试。

建筑物/安装

您需要进行工作安装。

将此存储库克隆到您的gopath中并构建命令。例如:

 cd $HOME
mkdir -p go/src/github.com/bakins
cd go/src/github.com/bakins
git clone github.com/bakins/grpc-fastcgi-proxy
cd grpc-fastcgi-proxy
go build ./cmd/grpc-fastcgi-proxy

您现在应该有一个grpc-fastcgi-proxy二进制

用法

$ ./grpc-fastcgi-proxy --help
grpc to fastcgi proxy

Usage:
  grpc-fastcgi-proxy [flags]

Flags:
  -a, --address string   listen address (default " 127.0.0.1:8080 " )
  -f, --fastcgi string   fastcgi to proxy (default " 127.0.0.1:9000 " )
  -h, --help             help for grpc-fastcgi-proxy

grpc-fastcgi-proxy旨在与单个入口点应用一起使用。例如,您应该在index.php中进行所有路由。该输入文件应作为参数传递给grpc-fastcgi-proxy

$ ./grpc-fastcgi-proxy $HOME /git/grpc-fastcgi-example/index.php

它将设置SCRIPT_FILEDOCUMENT_ROOT CGI变量。

托多

  • 一般代码清理
  • 将HTTP状态代码转换为相应的GRPC错误代码

执照

请参阅许可证

致谢

  • 凯利(Kelly)为Fastcgi代码和示例,并且不说我这样做。
  • Michal Witkowski for Grpc-Proxy。
下载源码

通过命令行克隆项目:

git clone https://github.com/bakins/grpc-fastcgi-proxy.git