代码之家  ›  专栏  ›  技术社区  ›  mk12

为什么我的PerlCGI脚本在浏览器中显示为纯文本?

  •  2
  • mk12  · 技术社区  · 15 年前

    我一直在玩让我的Mac成为一个Web服务器,现在我正在尝试创建一个简单的HTML表单,以及一个打印输入的Perl脚本。我有/library/webserver/documents符号链接到~/sites/,所以我有index.html和display.cgi。但是当我按下Submit时,Perl文件只显示为文本。我拥有的任何CGI文件都不会执行,它只是显示为文本。我做错什么了?谢谢。

    3 回复  |  直到 15 年前
        1
  •  3
  •   David    15 年前

    除非您的服务器专门设置为在 /Library/WebServer/Documents 文件夹,你得把它们放进去 /Library/WebServer/CGI-Executables 相反。(然后从 /cgi-bin/ URL中的路径,例如 http://localhost/cgi-bin/display.cgi 。)

    完成之后,请确保您已经设置了Perl脚本的权限,以便它是可执行的。要执行此操作,请转到终端中的包含目录,然后键入 chmod a+x display.cgi .

    另外,检查脚本的第一行 组织行 )有正确的Perl路径。在我的Mac上,Perl位于 /usr/bin/perl ,但如果要检查自己,请运行命令 which perl .

        2
  •  0
  •   meme    15 年前

    不要忘记在“shebang line”前面添加符号,如下面的示例:

    #!d:/perl/bin/perl
    
    #!/usr/local/bin/perl -w
    

    注意,-w将显示警告。

        3
  •  0
  •   David    15 年前

    回答你的其他问题:

    从外部使用CGI脚本 cgi-bin 目录,您可能需要深入分析配置文件。主要是 /private/etc/httpd/httpd.conf ,您必须使用终端才能到达,因为 /private/ 默认情况下,目录是隐藏的。

    或者,您可以创建一个 .htaccess 文件位于要放置脚本的目录中。 This manual page 应该能帮你弄清楚放什么。请注意,Apache手册中没有任何特定于Mac的信息,因为它也用于其他操作系统。