为什么我的perl fastcgi脚本没有打开socket

时间:2013-12-10 14:19:16

标签: perl fastcgi

我在example

写了一个简单的perl FasCGI脚本
#!/usr/bin/perl -w
use strict;

use FCGI;

my $count = 0;
my $request = FCGI::Request();

while($request->Accept() >= 0) {
    print("Content-type: text/html\r\n\r\n", ++$count);
}

我正在使这个脚本可执行并在终端中执行它,但不是打开套接字,而是打印脚本

  

内容类型:text / html

     

1

并结束。 为什么呢?

更新

谢谢大家,但我不明白,我的脚本如何知道,我安装或不安装Web服务器模块?为什么我需要服务器正常运行fastcgi脚本?例如,当我运行Catalyst fastcgi starter时,我不需要任何服务器,我可以在没有服务器的任何机器上运行该脚本。

2 个答案:

答案 0 :(得分:1)

请从以下链接查看安装FastCGI 部分。我相信你错过了这个。 http://www.intranetwerx.com/bookshelf2/linux/cgi/ch17_02.htm

答案 1 :(得分:0)

这是一种调试模式。它不是因为你没有提供适当的快速CGI环境而死亡,而是模拟一个请求。

unless ($req->IsFastCGI()) {
    return -1 if $run_once;

    $run_once = 1;
    return 0;
}

您确实意识到Fast CGI是用于在您的脚本和Web服务器中的模块之间进行通信的通信协议,对吧?您需要让Web服务器模块启动您的脚本。