如何通过CGI接口调用我的c++二进制文件
How do I invoke my C++ binaries via the CGI interface?
我想将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中提供服务。
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 我的字符计数代码计算错误.为什么
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- cmake在我的项目中所需的所有静态库都不成功
- 为什么我的代码在输出中增加了93天
- 我的简单if-else语句是如何无法访问的代码
- 为什么我的for循环不能正确获取argv
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 0-1背包代码中的错误.我的代码中有什么错误
- 当我的阵列太大时出现分段错误
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 为什么二进制搜索在我的测试中不起作用
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 我的代码中有错误吗?使用BGI图形的C++代码对我不起作用
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- OpenGL在启用深度测试时不会丢弃我的碎片
- 为什么我的 std::ref 无法按预期工作?
- clang整洁10忽略了我的NOLINT命令
- 为什么我的删除节点函数实际上没有删除节点?