为什么我的Perl CGI脚本不起作用?

13 浏览
0 Comments

为什么我的Perl CGI脚本不起作用?

我真的不知道如何运行Perl文件。我将我的.pl文件上传到了cgi-bin目录下,然后使用chmod命令将其权限设置为755。但是当我尝试运行这个文件时,却只得到一个500内部服务器错误。\n

**/cgi-bin/helloworld.pl**
#!/usr/bin/perl
print 'hello world';

\n有任何关于我做错了什么的想法吗?

0
0 Comments

问题出现的原因:

1. 没有使用CGI::Carp输出致命错误到浏览器。

2. 没有使用CGI模块输出所需的信息,如headers/html等。

3. 错误日志未被检查。

4. 使用CGI模块进行输出是过时的做法,应该使用模板代替。

解决方法:

1. 使用CGI::Carp模块将致命错误输出到浏览器:use CGI::Carp qw(fatalsToBrowser);

2. 使用CGI模块输出所需的信息,而不是直接打印输出。

3. 检查错误日志以获取更多信息。

4. 使用模板替代CGI模块进行输出。

注:以上所述信息为整理自相关内容,仅供参考。

0
0 Comments

为什么我的Perl CGI脚本不起作用?

你可能需要像下面这样的代码:

print "Content-type: text/html\n\n";

在你的print语句之前。查看http://httpd.apache.org/docs/2.0/howto/cgi.html#troubleshoot以获取更多帮助。

知道你使用的服务器和在服务器日志中显示的确切错误信息会有帮助。我猜,如果你使用Apache,你会看到类似于“Premature end of script headers”的错误信息。

只是添加了那行代码,并没有起作用。

像那样使用print被认为是不好的形式。请查看CGI模块。

0
0 Comments

Perl CGI脚本无法正常工作的原因和解决方法:

Perl CGI脚本无法正常工作可能是由于服务器错误导致的,具体表现为在命令行中可以运行,但在浏览器中无法正常运行,出现了500服务器错误。下面是解决方法:

1. 阅读Perl CGI FAQ官方文档,链接:Perl CGI FAQ,该文档可以回答这个问题以及其他可能遇到的问题。

2. 进一步了解问题的解决方法,可以查看Perl CGI FAQ中的相关问题,比如:"My CGI script runs from the command line but not the browser. (500 Server Error)"。这个问题的解答可能会对解决当前的问题有所帮助。

希望以上内容能够帮助你解决问题!

0