我需要我的apache web服务器来运行c ++编译的二进制文件。我已经完成了我在不同教程中设置的所有内容,以设置我的cgi-bin目录,但没有任何帮助!
我已添加到apache config(sites-available / default):
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Directory "/var/www/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AddHandler cgi-script .cgi
</Directory>
我的c ++文件(/var/www/cgi-bin/test.cgi
)只是简单地告诉了hello world!,但是当我在浏览器上询问这个文件时,我收到错误:内部服务器错误!
答案 0 :(得分:3)
您的test.cgi不输出任何标头。它应该输出一组标题和一个用空行分隔的正文,如下所示:
Content-type: text/plain
Hello world!
还有很多问题可能出现,但首先要在测试程序输出中添加“内容类型”标题和空行。
答案 1 :(得分:1)
非常感谢!很抱歉我来不及回答。
通过更改权限解决了无法访问文件的问题。但是我创建的文件夹名称/var/www/cgi-bin/
出现了错误,cgi-bin
是文件夹/usr/lib/cgi-bin/
的别名。
当我将test.cgi
文件放在那里时,我可以访问该文件,但仍然在apache中记录了Header Content
的错误。这是因为标题应为Content-type: text/html
。