为什么我的Perl CGI抱怨“过早结束脚本标题”?
我相信有人可以很快回答这个问题,但我只是新来的…
我正在尝试修改demarc(一个简单的网络监视工具)来对一个简单的脚本进行系统调用.脚本本身什么都不做,我只是想做一个’概念验证’,因为我不断收到内部服务器错误.脚本的权限已设置为777.当我评论system()调用时,一切都很好.所以这让我怀疑它是发生错误的system()调用.我也尝试过exec(),但这也不起作用.错误不能出现在脚本本身,因为其中只有一个echo“test”. 我是否错过了任何权限或是否有其他方法使这项工作?任何建议将不胜感激. sub generate_ticket { my @args = ("$base_path/test.pl"); exec(@args); } 这在文件中的某处称为: } elsif ($FORM{'delete_type'}=~/generate/) { my $message = &generate_ticket($delete_array_ref); #&ack_events($delete_array_ref); $events_deleted = (@$delete_array_ref); &push_message("<FONT COLOR=red><B>Result: $message.</B></FONT>"); } test.pl: #!/usr/bin/perl print "Test"; 错误日志: 解决方法
“脚本标题的过早结束”本身并不是一个非常有用的错误消息.它可能是由许多事情引起的,例如:
>不可执行(权限问题) 但是,在这种情况下,如果我们要逐字地采用您的示例脚本(打印“TEST”),并在HTTP标头之前输出它,那么您不会首先生成HTTP标头,因此它是最后一个. Web服务器需要标头,而不是“TEST”. 如果情况并非如此,我们需要查看代码的更多内容以了解可能发生的情况.例如,可能是执行test.pl的权限问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |