我有一个cpp项目,我可以编译并作为exe执行。
但是我正在学习分布式系统,我需要一个cgi文件,这个文件将被放在我的apache服务器(xampp)上的cgi-bin文件夹下。
知道如何在Windows中执行此操作?
我在获取特定的cgi扩展时遇到问题,我还需要在xampp apache服务器中配置任何东西来运行这个cgi文件。我注意到服务器本身在安装时有3个文件,所以我认为它是自动配置的。
答案 0 :(得分:1)
我并不是特别了解Windows,但我在Linux(Ubuntu)服务器上的Apache2上测试了以下内容。
您可以通过扩展名" cgi"来运行CGI。我编译了一个" HelloWorld" C ++程序并命名为" HelloWorldC.cgi"只要我指定了正确的Content-type输出,它就会正确执行。
C ++代码:
#include <iostream>
using namespace std;
int main() {
cout << "Content-type: text/html\n\n" << endl;
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}
HTML代码: (的test.html)
<a href="HelloWorldC.cgi">HelloWorldC.cgi</a>
在浏览器中加载test.html链接时的输出:
!!!Hello World!!!
我认为Windows的问题可能是严格按扩展程序运行程序类型。 Linux将根据它的实际情况运行程序(通过程序的标题)。 Apache将在由配置的CGI选项运行的程序上执行CGI输出。
对于Windows,您可以通过添加&#34; .exe&#34;来让服务器执行该程序。到mime处理程序类型。
即。 (将.exe添加到addhandler指令):
AddHandler cgi-script .cgi .pl .exe