fastcgi で lighttpd エラーの原因をデバッグするにはどうすればよいでしょうか?

fastcgi で lighttpd エラーの原因をデバッグするにはどうすればよいでしょうか?

私はmod_fastcgilighttpd サーバー (Ubuntu で実行) で、次の設定 ( の例から直接引用conf-available) を有効にしてみました。

fastcgi.server    = ( ".php" =>
    ((
            "bin-path" => "/usr/bin/php-cgi",
            "socket" => "/tmp/php.socket",
            "max-procs" => 2,
            "idle-timeout" => 20,
            "bin-environment" => (
                    "PHP_FCGI_CHILDREN" => "4",
                    "PHP_FCGI_MAX_REQUESTS" => "10000"
            ),
            "bin-copy-environment" => (
                    "PATH", "SHELL", "USER"
            ),
            "broken-scriptfilename" => "enable"
    ))

...しかし、今度は lighttpd が起動に失敗し、ログに次の内容が記録されます。

2010-09-06 17:13:39: (log.c.166) server started
2010-09-06 17:13:39: (mod_fastcgi.c.1104) the fastcgi-backend /usr/bin/php-cgi failed to start:
2010-09-06 17:13:39: (mod_fastcgi.c.1108) child exited with status 2 /usr/bin/php-cgi
2010-09-06 17:13:39: (mod_fastcgi.c.1111) If you're trying to run your app as a FastCGI backend, make sure you're using the FastCGI-enabled version. If this is PHP on Gentoo, add 'fastcgi' to the USE flags.
2010-09-06 17:13:39: (mod_fastcgi.c.1399) [ERROR]: spawning fcgi failed.
2010-09-06 17:13:39: (server.c.931) Configuration of plugins failed. Going down.

何が問題なのかを判断し、修正するにはどうすればよいでしょうか?

答え1

何かお手伝いできることがあればやってみますが、私は軽量なセットアップを持っていないので、1対1で比較することはできないことをご承知おきください。

php-cgi がどのように設定され、何をサポートするのかを確認する必要があります。したがって、次のようなものから始めるとよいでしょう...

$ which php-cgi
/usr/bin/php-cgi

$ /usr/bin/php-cgi -m
[PHP Modules]
bcmath
bz2
calendar
cgi-fcgi
...

すると、おそらく:

$ /usr/bin/php-cgi -i > phpcgi.html

次に、ブラウザでphpcgi.htmlを開きます。phpcgi.htmlとphpcgi -mの両方に「cgi-fcgi" またはサーバー API CGI/FastCGIなど

これら両方が適切であるように見える場合 (つまり、CGI をサポートするように設定されているように見える場合)、lightty 設定と /etc/php5/cgi/*.ini ファイルを調べ始めます。

現在、Nginx/spawn-fcgi/PHP5 セットアップを実行していますが、非常にうまく機能しています。

どの Ubuntu を実行していますか (cat /etc/issue)、どのアーキテクチャ (uname -a)、どの lighttpd/php/fastcgi パッケージ (dpkg --list | egrep "lighttpd|fastcgi|php") ですか?

関連情報