Webmin面板网站突然出现Premature end of script headers错误,
原因:发现是客户自行修改了目录权限,为了偷懒都改成了777权限,导致报错。
解决办法:把网站全部目录改成755权限 chmod -R 755 .
其他参考:
从字面意思来看就是脚本头过早结束,当然是遇到错误了。一般遇到这种情况首先检查文件是否可执行,文件属性是否是755,其次检查文件开头一句是否以#! 开头,不能有空格,最后检查/usr/bin/perl的路径是否正确。如果是其它CGI程序也是一样,必须指定其路径,比如 php程序如果要作为CGI运行,必须在文件开头加上:#!/usr/bin/php。顺便说一下,根据HTTP协议,输出之前都需要输出HTTP headers,一般都要加上这句:print ("Content-Type: text/html;\n\n");
test.cgi写好之后执行一下步骤
1,在htdocs下建立work目录,然后cp了个.cgi的测试程序
测试程序第一行不能有空格
一定要加print "Content-type:text/html\n\n";
第一行要指明perl解释器地址
#!usr/bin/perl -w
2.在httpd.conf里加入
<Location /opt/lampp/htdocs/work>
Options +ExecCGI -Includes +Indexes
SetHandler cgi-script
AllowOverride All
Allow from All
</Location>
3.sudo /opt/lampp/lampp restart
4.在firefox中打开http://localhost/work/
点test.cgi
即可搞定。