我最近安装了 mod_fastcgi 和 Apache 2.2。我有一个简单的 cgi 脚本,如下所示 (test.fcgi):
#!/bin/sh
echo sadjad
但是当我调用“mysite.com/test.fcgi”时,短暂一段时间后我看到“内部服务器错误”。
error.log 文件显示以下错误消息:
[Tue Jan 31 22:23:57 2006] [warn] FastCGI: (dynamic) server "~/public_html/oaduluth/dispatch.fcgi" has failed to remain running for 30 seconds given 3 attempts, its restart interval has been backed off to 600 seconds
这是我的.htaccess 文件:
AddHandler fastcgi-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ django.fcgi/$1 [QSA,L]
问题可能出在哪里?是我的 .htaccess 文件吗?
答案1
您正尝试通过 FastCGI 接口运行 CGI 脚本。这行不通。您只能使用 FastCGI 接口运行遵循 FastCGI 规范的 FastCGI 脚本。服务器会继续运行您的脚本并尝试向其发送 FastCGI 请求,但它会一直终止,而从未收到或处理任何请求。
答案2
问题出在你的脚本上。你必须先接受请求,然后才能将某些内容打印到浏览器。
查看类似问题在 stackoverflow.com 上。