FastCGI for C ++

时间:2009-11-21 05:52:48

标签: c++ fastcgi

我发现只有两个用于C ++的FastCGI库。有"official" onefastcgi++。一个人比另一个人好吗?还有其他人存在吗?

6 个答案:

答案 0 :(得分:8)

您可能想要的内容隐藏在Cgicc包的contrib目录中。

fcgi-test.cpp是如何将cgicc与FastCGI一起使用的示例。

应安装fcgi-test.cpp的路径 /usr/share/doc/libcgicc-doc/examples/contrib/fcgi-test.cpp

答案 1 :(得分:6)

由于fastcgi ++仍被列为“开发状态:4-Beta”,所以我建议选择正式版。它已经存在了很长时间,并且对许多语言都有绑定。 2之间的许可证似乎没有太大区别。在代码中加入一些测量值,如果性能是一个问题,那么花点时间玩替代品。

答案 2 :(得分:6)

官方库相当低级,因此只能用作cgicc等高级CGI库的中间件。

另一方面,Fastcgi ++允许在处理FastCGI时使用C ++习语。 v1的不完整性促使我把它分成mosh-fcgi。

优点: 我的fork符合标准的每一点(特别是ROLE_FILTER) 一切都是模板化的,因此对std :: basic_strings使用任意T更容易。 缺点: 我的修改是在alpha模式下。

无论如何,请从https://github.com/moshbear/mosh-fcgi下载最新的zip。

答案 3 :(得分:4)

另见Cgicc库:

http://www.gnu.org/software/cgicc/

图书馆看似成熟(目前版本为3.x)。根据文档,它可以通过将自定义读取器(reader_function_t)传递给Cgicc类的构造函数来与FastCGI一起使用。

答案 4 :(得分:3)

有一个漂亮的库可用于创建FastCGI守护进程:https://github.com/golubtsov/Fastcgi-Daemon

答案 5 :(得分:2)

FastCGI的C版本做得很少,用C ++开发并不是一个大问题,因为它几乎不会干扰你自己的代码。它很可能只是一个循环和一个环境变量。

所以我的建议就是坚持正式版。

请注意一件事:通过重新定义printf来实现它!因此,如果您使用cout,则无效。