Can';找不到错误500的原因-Perl

Can';找不到错误500的原因-Perl,perl,cgi,Perl,Cgi,我不熟悉Perl及其在CGI中的使用。我已经有这个错误500个小时了,仍然不知道错误在哪里。脚本被放置在Apache服务器相应的/usr/lib/cgi-bin文件夹中。然后通过以下简单的HTML表单调用: <FORM action="http://localhost/cgi-bin/sensors.cgi" method="POST"> Sample period: <input type="text" name="sample_period"> <br>

我不熟悉Perl及其在CGI中的使用。我已经有这个错误500个小时了,仍然不知道错误在哪里。脚本被放置在Apache服务器相应的
/usr/lib/cgi-bin
文件夹中。然后通过以下简单的HTML表单调用:

<FORM action="http://localhost/cgi-bin/sensors.cgi" method="POST">
Sample period: <input type="text" name="sample_period">  <br>
<input type="submit" value="Submit">
</FORM>

如果需要,请随时询问我更多的上下文。提前感谢

存在的明显问题是脚本没有输出CGI规范所要求的HTTP响应

至少,您需要以下内容:

print "Status: 204 No Content", "\n\n";
但更常见的说法是

print "Status: 200 OK", "\n";
print "Content-type: text/plain", "\n\n";
print "Success!";

也就是说,
500
只意味着有错误。它可能与代码有关。它可能与服务器配置有关。上述问题显而易见,但可能还有其他问题。当您收到500个错误时,需要查看服务器的错误日志,查看错误消息的实际内容。在您这样做之前,尝试解决问题是没有意义的。

明显的问题是脚本没有输出CGI规范所要求的HTTP响应

至少,您需要以下内容:

print "Status: 204 No Content", "\n\n";
但更常见的说法是

print "Status: 200 OK", "\n";
print "Content-type: text/plain", "\n\n";
print "Success!";

也就是说,
500
只意味着有错误。它可能与代码有关。它可能与服务器配置有关。上述问题显而易见,但可能还有其他问题。当您收到500个错误时,需要查看服务器的错误日志,查看错误消息的实际内容。在你这么做之前,试图解决这个问题是没有意义的。

现在Perl社区基本上已经远离CGI,并一直持续到现在。@Quentin:“远离CGI”是一回事,但不是每个人都只转向一个框架…@stevieb-18框架列在我链接的页面上。@Quentin:我的道歉;链接文本只是有点误导;我应该坚持到底++Perl社区基本上已经从CGI转移到现在。@Quentin:“从CGI转移”是一回事,但并不是每个人都只转移到一个框架上…@stevieb-18框架列在我链接的页面上。@Quentin:我的道歉;链接文本只是有点误导;我应该坚持到底++错误500已通过添加您所述内容解决。这是我第一次使用Apache,以前从未使用过日志,但现在我知道了。谢谢你指出。错误500通过添加你所说的内容解决了。这是我第一次使用Apache,以前从未使用过日志,但现在我知道了。谢谢你指出这一点。