Html CGI脚本在Apache2(本地主机)中显示为纯文本

Html CGI脚本在Apache2(本地主机)中显示为纯文本,html,perl,localhost,apache2,cgi,Html,Perl,Localhost,Apache2,Cgi,目前,我必须在Apache2中创建一个web服务器,该服务器包含一个登录/注册web,并且我必须调用一个CGI脚本来验证来自用户的输入数据。好吧,当我用submit按钮调用脚本时,CGI脚本显示为纯文本,我不知道还能做什么来修复它 我尝试过在/etc/apache2/httpd.conf中取消CGI模块的注释,为CGI脚本设置默认目录,为CGI取消AddHandler的注释,并更改localhost目录和CGI目录中的选项值,将ExecCGI添加到它们中。但它仍然不起作用,它只是以纯文本的形式出

目前,我必须在Apache2中创建一个web服务器,该服务器包含一个登录/注册web,并且我必须调用一个CGI脚本来验证来自用户的输入数据。好吧,当我用submit按钮调用脚本时,CGI脚本显示为纯文本,我不知道还能做什么来修复它

我尝试过在/etc/apache2/httpd.conf中取消CGI模块的注释,为CGI脚本设置默认目录,为CGI取消AddHandler的注释,并更改localhost目录和CGI目录中的选项值,将ExecCGI添加到它们中。但它仍然不起作用,它只是以纯文本的形式出现

附言:我遵循了本教程()并在StackOverflow中寻找解决方案,但我没有找到适合我的解决方案


编辑:如果您这样做,也感谢您的帮助:)

问题在于目录配置,因此我保留了默认的http.config文件,该文件为/cgi-bin/目录预设了ScriptAlias,并将其保存到以下目录:

/库/Web服务器/CGI可执行文件

然后,我通过从apache2中取消httpd.conf文件中的行注释(删除行前的“#”)来启用CGI模块:

LoadModule cgi_module libexec/apache2/mod_cgi.so

最后,我保存了文件,然后使用以下命令重新启动Apache2服务器:

sudo/usr/sbin/apachectl重新启动

然后我将.cgi脚本粘贴到cgi Executables目录中,将文件的权限设置为chmoda+x

要现在运行脚本,您只需访问

localhost/cgi-bin/script.cgi


无论如何谢谢你的帮助

这是一个关于Apache配置的问题,因此它属于。仔细回顾Apache文档中关于启用CGI的内容。显然你错过了一步。@JimGarrison我没有“LoadModule cgid\u module modules/mod\u cgid.so”模块,但我想我不需要它,因为我没有使用共享模块支持构建Apache。如果不是,我不知道会是什么。您是否将CGI支持构建为静态模块?这可能吗?如果系统中没有CGI支持,它将无法执行CGI程序。我不知道,启用该模块只是为了这种安装。另外,我在Mac OS High Sierra中使用Apache2,因此我没有与Apache教程中显示的目录相同的目录。我不知道这是否意味着有什么问题……再说一遍,这个问题属于我。请确保在评论中也包含您提供的所有信息。