0

我在同一个 cgi-bin 文件夹中有两个 cgi 文件。一个复杂的 30000 行脚本可以正常工作,但是当涉及到这个简单的 cgi 脚本时:

#!/usr/bin/perl -w
print "Content-type: text/html\n\n";
print "<html><head>";
print "<title>CGI Test</title>";
print "</head>";
print "<body><h1>I just wrote a web page using Perl!</h1>";
print "</body></html>";

网页将返回 500 内部服务器错误...

为什么?:(

编辑: 好的,问题已在一台服务器上解决,cgi 工作正常。但是......
现在我正试图让 cgi 脚本在另一台服务器上工作,似乎无论我做什么,我都会不断收到“内部服务器错误”消息并且错误日志中没有任何内容。有什么建议么?

4

4 回答 4

2

想到了两种可能:

  • 您的简单脚本没有执行权限集
  • test.cgi是由服务器配置重定向到别处的特殊名称

你可以从命令行运行test.cgi吗?

于 2011-02-17T21:07:15.630 回答
2

检查 Web 服务器日志以获取详细信息。

在大多数情况下,它的权限问题,不仅是执行此脚本的权限,而且例如某些 Web 服务器默认拒绝执行具有 777 或任何其他可写权限的脚本,出于安全原因。

尝试为该文件设置 644 权限。

于 2011-02-17T21:19:01.207 回答
0

我已经和托管公司谈过了,他们说他们不提供任何“CGI/PERL”sript 托管......

所以,问题解决了……(有点)。

教训:在购买主机包之前一定要仔细阅读:D

于 2011-02-21T13:26:08.070 回答
0

关于您的后续问题:另一台服务器是什么服务器?另外,问题是特定脚本还是所有脚本?你可以在你的 cgi-bin 中使用任何脚本吗?如果没有,可能是您的虚拟主机配置不正确,或者 perl 安装在其他地方。

于 2011-02-21T07:29:47.283 回答