如何通过CGI接口调用我的c++二进制文件

How do I invoke my C++ binaries via the CGI interface?

本文关键字:我的 c++ 二进制文件 调用 接口 何通过 CGI      更新时间:2023-10-16

我想将PHP解决方案转换为c++解决方案。目前我的服务器端是用PHP编写的——代码不多,一千行以下。所以我可以毫无问题地重写它——我不需要使用hip-hop或类似的自动化。

问题是我如何安装/配置正确的软件来支持服务器端的c++代码。我不知道如何通过CGI通过web服务器调用二进制文件。

PHP很容易,安装XAMPP或类似的编写PHP,你就差不多可以开始了。

但是,我想运行c++。

谢谢

三个基本选项:

  • 在c++中完成所有事情,使您的程序成为一个独立的web服务器(可能通过apache代理提供ssl,静态媒体,身份验证等)
  • 在cgi-bin中运行c++,通过apache
  • 创建一个PHP包装器,该包装器外壳到c++部分(如果性能关键部分很小,这是一个不错的选择,因为您仍然可以使用PHP的垃圾收集和字符串操作给您带来的舒适)

您可以通过RFC 3875中指定的公共网关接口调用c++二进制文件。

每个支持CGI的web服务器(这很常见)都可以调用你的二进制文件。如果您出于性能和稳定性的原因使用apache 3.1,手册中有一节:动态内容与CGI。

Cgi和c++代码示例很容易通过互联网搜索找到,所以这只是一个示例。

当你让它工作并习惯它时,你可以考虑更进一步,迁移到FastCGI。它有助于像CGI那样减少每次fork进程的成本。另一种选择是以apache模块的形式创建脚本,并直接从httpd中提供服务。