Назад | Перейти на главную страницу

Как я могу отладить причину ошибок lighttpd с помощью fastcgi?

Я пробовал включить mod_fastcgi на моем сервере lighttpd (работающем на 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.

Думаю, вы должны увидеть, как настроен ваш 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), я бы начал выбирать с легкой настройки и файлов /etc/php5/cgi/*.ini.

В настоящее время я использую установку Nginx / spawn-fcgi / PHP5, которая работает очень хорошо.

Какой Ubuntu вы используете (cat / etc / issue), какой архитектуры (uname -a) и какие пакеты lighttpd / php / fastcgi (dpkg --list | egrep "lighttpd | fastcgi | php")?