最近、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 で。