C 可执行文件从浏览器下载而不是显示结果

C++ executable file getting downloaded from browser instead of displaying results

本文关键字:显示 结果 下载 可执行文件 浏览器      更新时间:2023-10-16

我已经配置了CGI-bin并尝试运行C 对象文件,但没有在浏览器上显示结果,而是下载了可执行文件。

我遵循的步骤:

在public_html和public_html中配置CGI-bin的步骤。在终端中运行以下命令

  1. $ sudo a2enmod cgi
  2. $ sudo a2enmod cgid
  3. $ sudo a2enmod userdir
  4. $ sudo服务apache2 restart
  5. $ mkdir〜/public_html
  6. $ cd〜/public_html
  7. $ MKDIR CGI-BIN
  8. $ cd/etc/apache2
  9. $ sudo vim sites-abailable/000-default.conf
  10. 在文件中添加以下文本:


ScriptAlias /cgi-bin/ /home/*/public_html/cgi-bin/
 <Directory "/home/*/public_html/cgi-bin">
         AllowOverride None
         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
         SetHandler cgi-script
         Order allow,deny
         Allow from all
 </Directory>
  1. $ sudo服务apache2 restart

之后,我创建了一个C 文件使用此代码

#include <iostream>
using namespace std;
int main ()
{
    cout << "Content-type:text/html nn";
    cout << "Hello World - First CGI Program";
    return 0;
}

使用此

对其进行了编译并将其链接
g++ -o example example.cpp

当我在浏览器上运行它http://localhost/〜用户名/public_html/cgi-bin/example

示例对象文件正在下载而不是在浏览器上显示结果。

脚本未正确编写在默认配置文件中。否则,所提出的步骤都是正确的,而且正常工作。该代码需要在配置文件中给出的VirtualHost标签中写入。