我最近安裝了 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 上。