SSI没有产生输出,也没有给出错误

时间:2010-06-01 19:05:24

标签: perl cgi ssi

在html文件中:

<!--#exec cgi="/cgi-bin/test.pl"-->

perl脚本:

#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "<input type=\"hidden\" name=\"aname\" value=\"avalue\">\n";
print "<img src=\"/cgi-bin/script.pl\" />";

这不会给我一个'错误处理指令'错误,也不会输出我的HTML代替标记。我还要补充说,ssi标签没有被替换。

1 个答案:

答案 0 :(得分:0)

您确定脚本正在执行吗?如果您将某些内容打印到STDERR,它是否会显示在错误日志中?

除此之外,我还有一些评论:

  1. 我非常确定打印Content-Type是多余的,你(无论如何,Apache)已经通过提供包含SSI的HTML文件来完成。 reference

  2. exec真正用于运行'ls -l'之类的命令。您应该使用include virtual代替。它还允许您向URL添加参数。 e.g。

    <!--#include virtual="/cgi-bin/example.cgi?argument=value" --\>
    
  3. 帮自己一个忙,并使用qq[]而不是双引号。你不必逃避一切......例如

    print qq[< input type="hidden" name="aname" value="avalue"\b];
    
相关问题