从perl脚本抛出的内部服务器错误500 - 但脚本工作正常

Upl*_*and 2 perl internal-server-error

我有一个通过Ajax调用的perl脚本.它只是将3个值写入数据库.代码工作正常(值写得成功)但我得到一个"内部服务器错误"抛出.Errorlog表示"脚本标题过早结束".

应用程序没有问题 - 它可以按需运行并且有几个月 - 但是在测试其他内容时我通过Firebug注意到了错误.

所以我开始从脚本中剥离perl以试图找到问题..并继续直到我只剩下两行... shebang并退出..我仍然得到500错误.直接从浏览器运行脚本会在浏览器窗口中显示500错误...从命令提示符中它很好 - 即.apache errorlog中没有任何内容.

服务器配置没有任何问题 - 它有数百个perl脚本并且已运行多年.

Eug*_*ash 8

您应该首先输出有效的CGI标头.

服务器期望CGI脚本的第一个输出是CGI头.通常,这可能print "Content-type: text/plain\n\n";与CGI.pm及其衍生物一样简单print header().