Como posso depurar o que está causando erros de lighttpd com fastcgi?

Como posso depurar o que está causando erros de lighttpd com fastcgi?

Tentei habilitar mod_fastcgino meu servidor lighttpd (rodando no Ubuntu), com a seguinte configuração (direto do exemplo em 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"
    ))

)

... mas agora o lighttpd falha ao iniciar com o seguinte nos logs:

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.

Como posso saber o que está errado e consertar?

Responder1

Vou ver se posso ajudar, mas lembre-se de que não tenho uma configuração leve, então não posso comparar 1 por 1.

Eu acho que você deveria ver como seu php-cgi está configurado e o que ele suporta. Então... talvez comece com algo como...

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

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

Então talvez:

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

Em seguida, abra phpcgi.html em um navegador. Eu suspeito que o phpcgi.html e o phpcgi -m deveriam ter linhas mencionando "cgi-fcgi" ouAPI do servidor CGI/FastCGI, etc.

Se ambos parecerem bons (ou seja, parece que estão configurados para suportar CGI), então eu começaria a escolher a configuração lightty e os arquivos /etc/php5/cgi/*.ini.

Atualmente estou executando uma configuração Nginx/spawn-fcgi/PHP5 que funciona muito bem.

Qual Ubuntu você está executando (cat /etc/issue), qual arquitetura (uname -a) e quais pacotes lighttpd/php/fastcgi (dpkg --list | egrep "lighttpd|fastcgi|php")?

informação relacionada