Вот код:
#!/usr/bin/perl use strict; use FCGI; my $count = 0; my $socket = FCGI::OpenSocket(":9000", 5); my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV, $socket); while ($request->Accept() >= 0) { print("Content-type: text/html\r\n\r\n", ++$count); } FCGI::CloseSocket($socket);
Ничего заумного. Запускаю. Смотрю.
$ sockstat -4 USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS crush perl 2708 4 tcp4 *:9000 *:*
При попытке подключения браузером по адресу http://127.0.0.1:9000 получаю девственно чистую страницу... Судя по поведению браузера происходит нормальное подключение и столь же нормальное отключение, получая при этом документ нулевой длины. Содержимое цикла while похоже не выполняется. Проверяем так:
while ($request->Accept() >= 0) { `echo 'oops' >> log`; print("Content-type: text/html\r\n\r\n", ++$count); }
Молчит...
Как так? =)

Почитайте
Почитайте error_log, наверняка много полезного найдется
А где?
Я бы с удовольствием, только где его найти? perldoc FCGI по этому поводу ответа не дал.
Accept вообще не реагирует на подключение. Подключаюсь телнетом, ввожу минимальный HTTP заголовок и получаю отключение от сокета, а Accept никак себя не проявляет...
Да ну что вы)
Да ну что вы) Какой perldoc FCGI?)
Вам надо почитать логи ошибок Апача
а с CGI::Fast
а с CGI::Fast пробывали?
А куда ж Вы браузером на 9000?
На этот порт надо слать не HTTP-запросы, а FCGI, это отдельный протокол. С FCGI-сервером должен общаться не браузер, а WEB-сервер с FastCGI-модулем.
А вот ты какой, северный олень...
Извиняюсь за долгое молчание, на отдыхе был.
Теперь понятно где собака порылась...
Значит ли это что FastCGI приложение будет одинаково работать и под Apache и под nginx?
re: Помогите разобраться с FCGI
Значит ли это что FastCGI приложение будет одинаково работать и под Apache и под nginx?
угу.