17十一/100
CGI指定Perl解析器失效&Premature end of script headers的解决方法
在Apache里建了一个虚拟主机,发现该虚拟主机不能指定Perl解析器的路径,即#!行失效。
应该是虚拟主机配置的问题,因为Apache默认的CGI虚拟目录不存在这个问题。于是打开httpd.conf找答案,发现和Perl有关的配置文件就一个:apache/conf/extra/perl.conf,于是在该文件添加:
<Directory "F:/dalongnan.com">
<FilesMatch "\.pl$">
SetHandler cgi-script
</FilesMatch>
</Directory>
重启Apache,问题解决!
运行一个cgi程序,500错误:Premature end of script headers,OMG,竟然忘了先输出http头,在脚本开头添加:
print "content-type:text/html;charset=utf-8;\n\n";
其实只要输出两个换行就行了,不过这样不规范。
热度: 3% [?]
