1

我想写一个简单的net/http.HandlerFunc来提供 php 文件。我应该使用net/http/cgi还是net/http/fcgi,还是有更好的方法来运行 php 进程?

4

2 回答 2

5

来自http://golang.org/pkg/net/http/fcgi/

目前仅支持响应者角色。

Go FCGI 包不支持调用其他进程。它只知道在另一个服务器(例如 nginx)连接时如何处理请求。因此,您唯一的选择是 CGI。


CGI 效率非常低,您可能永远不应该使用它。相反,我建议将您的 Go 程序和您的 PHP FCGI 程序都放在一个反向代理(例如 Nginx)后面。

Nginx 有许多很棒的特性,包括默认 Go http 服务器不支持的 keep-alive 超时。使用反向代理可以为您的 Go 程序添加功能,并允许您集成其他语言。

于 2013-08-19T08:49:03.987 回答
2

你可以使用这个项目

github.com/vanackere/gofcgisrv

于 2013-08-20T03:47:25.680 回答