解决Premature end of script headers


今天在调试CGI程序,出现apache internet server error 500错误,第一感觉是权限问题,检测权限后,发现没有任何问题,权限是755,可以执行,
如下发现了更深入的问题。总结如下:

首先检查如下信息:
1 要保证自己的APACHE中有mod_cgi或mod_perl模块
2 apache配置文件中 AddHandler cgi-script .cgi 选项功能要打开。
3 CGI的文件要755的权限才可以运行
4 相对的PERL模块要存在

若程序INDEX.CGI无法如期运行,可查看errlog。那个Premature end of script headers错误信息,

先不去管它,很多不明原因都会造成这个错误的,(apache的应对这个错误信息更加细化处理了)注意其

它的错误信息,若是:
1:directory is writable by others:dirname 说明相关的目录的权限太大了,应从777改为775.
2:file is writable by others: finename 说明该文件应改为不可写,如从666改为755 
3:file has no execute permission: filename 说明该文件没法运行, 应改为755
4:No such file or directory: exec of  这个错误一般是文件格式造成的,我就是如此,可以通过
file filename.cgi查看文件系统的文件格式,如果格式有问题,或者文件有问题,就会给出提示。
以上总结希望能对新手在linux平台上设置CCB有所帮助。





你可能感兴趣的:(解决Premature end of script headers)