perl写CGI时出现500号错误(Internal Server Error)原因总结

发表于:2007-06-11来源:作者:点击数: 标签:
根据经验,大致有以下几种原因: 1.若在 unix , linux 机器上,则要看是否在程序头上写:#!/usr/bin/perl,若不写,则会错 2.是否以unix文件格式上传? 3.是否以asiic传输方式上传? 4.程序本身是否有语法问题?可以用perl -wc name.pl检查 5.程序所包含的模块是否在该
根据经验,大致有以下几种原因:

1.若在unix,linux机器上,则要看是否在程序头上写:#!/usr/bin/perl,若不写,则会错

2.是否以unix文件格式上传?

3.是否以asiic传输方式上传?

4.程序本身是否有语法问题?可以用perl -wc name.pl检查

5.程序所包含的模块是否在该站点上已安装,可以使用eval命令把use ... 包含进去,然后看@$是否为undef

6.使用$SIG{_DIE_} = &your_own_err_report_module();来重定向die命令调用的函数,可以将报错信息封装在html数据流中,以使浏览器可以"看见"该错误.

7.是否在输出其他信息前输出http头,通常需要:print "Content-type: text/html nn";

8.是否设为755或777的权限,有些主机设置只能用755,那么使用777也会错

大致就这些了吧,还有什么请大家一起来补充,谢谢!

原文转自:http://www.ltesting.net

...