[Решено] lighttp +php не могу настроить связку

Одним словом понадобилось настроить обработку php в lighttpd.
Делаю всё как указано в вики.
Вот конфиг.
$ lighttpd -f /etc/lighttpd/lighttpd.conf -t
config {
    server.modules       = ("mod_indexfile", "mod_access", "mod_fastcgi", "mod_dirlisting", "mod_staticfile")
    server.indexfiles    = ("index.php","index.html")
    fastcgi.server       = (
        ".php" => (
            "localhost" => (
                "bin-path"              => "/usr/bin/php-cgi",
                "socket"                => "/var/run/lighttpd/php-fastcgi.sock",
                "broken-scriptfilename" => "enable",
                # 3
            ),
        ),
    )
    server.port          = 80
    server.username      = "http"
    server.groupname     = "http"
    server.document-root = "/srv/http"
    server.errorlog      = "/var/log/lighttpd/error.log"
    dir-listing.activate = "enable"
    index-file.names     = ("index.html")
    mimetype.assign      = (
        ".html" => "text/html",
        ".txt"  => "text/plain",
        ".jpg"  => "image/jpeg",
        ".png"  => "image/png",
        # 4
    )
  fastcgi.debug        = 1
}

Как видно, всё просто и фактически по умолчанию. Запускаем:
/etc/rc.d/lighttpd start
И следим за
# tail -f /var/log/lighttpd/error.log

  • 2011-09-10 20:22:22: (log.c.166) server started
    2011-09-10 20:22:22: (mod_fastcgi.c.1365) — fastcgi spawning local
    proc: /usr/bin/php-cgi
    port: 0
    socket /var/run/lighttpd/php-fastcgi.sock
    max-procs: 4
    2011-09-10 20:22:22: (mod_fastcgi.c.1389) — fastcgi spawning
    port: 0
    socket /var/run/lighttpd/php-fastcgi.sock
    current: 0 / 4
    2011-09-10 20:22:22: (mod_fastcgi.c.1389) — fastcgi spawning
    port: 0
    socket /var/run/lighttpd/php-fastcgi.sock
    current: 1 / 4
    2011-09-10 20:22:22: (mod_fastcgi.c.1389) — fastcgi spawning
    port: 0
    socket /var/run/lighttpd/php-fastcgi.sock
    current: 2 / 4
    2011-09-10 20:22:22: (mod_fastcgi.c.1389) — fastcgi spawning
    port: 0
    socket /var/run/lighttpd/php-fastcgi.sock
    current: 3 / 4

    Вроде бы всё нормально.
    создаём тестовый файлик /srv/http/test.php, который состоит всёго лишь из одной строки:
    <?phpinfo()?>
    Заходим на http://192.168.0.54/test.php
    и видим пустой экран (точнее пустое окно браузера)
    смотрим на /var/log/lighttpd/error.log - там выскакивают строки :
    2011-09-10 20:29:08: (mod_fastcgi.c.3058) got proc: pid: 917 socket: unix:/var/run/lighttpd/php-fastcgi.sock-3 load: 1
    2011-09-10 20:29:08: (mod_fastcgi.c.1490) released proc: pid: 917 socket: unix:/var/run/lighttpd/php-fastcgi.sock-3 load: 0

    В дебиане на апаче - этот тест выдаёт полностью страничку инфы о php.


    Подскажите, что не так? Почему php не работает?
Так, часть проблемы решил.
Во первых /srv/http/test.php
должен содержать
<?php phpinfo(); ?> ,
а не <?phpinfo()?>

Теперь имеем вот такую инфу:
Всё - всем спасибо ;-)
Рассказываю.
Проверял работу php на скриптах? написанных год назад под апач+php+дебиан и синтаксис PHP скриптов начинался с
<? 
$a = 1;
$b = 2;
?>
Это оказалось не совсем верно: нужно писать <?php
<?php
.....;
.....;
?>
достаточно залезть в файл php.ini и поправить вторую сверху опцию :
short_open_tag = Off (поставить On)
Именно она отвечает за возможность писать короткие теги <??> вместо <?php ?>. Впрочем в самом файле это написано.

А еще есть опция
register_globals
Если она не включена, то для каждого внешнего параметра придется указывать тип(например "$_GET“ вместо ”$value"). Впрочем с точки зрения безопасности это как раз благо. Но рассказ о том, как пользоваться php, и что есть правильно, это предмет отдельной темы. (в лучшем случае)
Да пребудет с вами знание ip адреса
Спасибо, не знал.
 
Зарегистрироваться или войдите чтобы оставить сообщение.