为什么我的Perl脚本不能在FastCGI下启动?

时间:2009-07-08 19:21:40

标签: perl apache apache2 cgi fastcgi

我在error_log我的一个Perl CGI应用程序中收到此错误。我很确定我根本没有改变我的脚本,突然间我开始收到这个错误。

这是我在error_log中看到的:

[Wed Jul  8 15:18:20 2009] [warn] FastCGI: server "/local/web/test/cgi-bin/test.pl" (pid 17033)
    terminated by calling exit with status '255'
[Wed Jul  8 15:18:20 2009] [warn] FastCGI: server "/local/web/test/cgi-bin/test.pl"
    has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds

(为清晰起见编辑了该片段)

此外,配置文件中存在FastCGI的AddHandler行。

可以告诉我这个错误的可能原因吗? Apache日志中没有记录任何内容。

2 个答案:

答案 0 :(得分:0)

以下是两个可能有用的提示(假设您的应用尊重fastcgi协议): 1.尝试在命令行中运行应用程序,这证明您在代码中执行了位并且没有编译错误。 2.检查apache服务器的suexec.log,这可能会显示用户/组或与您的脚本相关的其他错误。

答案 1 :(得分:0)

您可以尝试从Perl脚本重定向STDERR,例如:

BEGIN { open STDERR, '>stderr.log' }

如果根本没有创建stderr.log文件,则表示该脚本甚至没有被执行,可能是suexec / permissions问题。否则,您应该在该文件中出现Perl脚本出错的问题。