Автор Тема: fastcgi -> GetOverlappedResult()  (Прочитано 10839 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
fastcgi -> GetOverlappedResult()
« Ответ #15 : 03 Августа 2005, 16:40:29 »
Цитировать
NeoNox:
Попробуй 1.3 поставить и посмотри как на нем всеработает.

не. я пока не буду откатываться. хорошо?
просто вычитала в умной книжке, что Apache2 намного более совместим с windows
пока-пока. :)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
fastcgi -> GetOverlappedResult()
« Ответ #16 : 03 Августа 2005, 16:40:36 »
Цитировать
AnnA:
м?

не м! Все туда, иначе будешь работать в ЦГИ режиме.
В доке-же все описано.
The documentations is your friend

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
fastcgi -> GetOverlappedResult()
« Ответ #17 : 03 Августа 2005, 16:45:12 »
Цитировать
NeoNox:
не м! Все туда, иначе будешь работать в ЦГИ режиме.

ну блин... :) хорошо.
а почему же он тогда без этого не работает? другие же работают. :( а с формой что, принципиально ничего не получится? жаль - уже нет сегодня времени всё проверить.
:rolleyes:
NeoNox спасибо Вам большое за массу потраченного на меня времени.
пока-пока. :)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
fastcgi -> GetOverlappedResult()
« Ответ #18 : 03 Августа 2005, 16:47:01 »
Цитировать
AnnA:
а почему же он тогда без этого не работает?

Не знаю, нужно смотреть твой скрипт.
The documentations is your friend

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
fastcgi -> GetOverlappedResult()
« Ответ #19 : 03 Августа 2005, 17:53:22 »
как передать параметры, а?

use strict;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use CGI::Fast;

our ($cgi, $login, $pass);
$cgi = new CGI;
$login = $cgi->param(\'user\') if $cgi->param(\'user\');
$pass = $cgi->param(\'passw\') if $cgi->param(\'passw\');

    while (new CGI::Fast) {
&head();
if (!$login or !$pass) {
print $cgi->h4({-style=>\'color:red;text-align:center\'},\'empty login or password\');
    } else {
print $login,\'
\',$pass,\'
connect to db....\';
}
    } #while (new CGI::Fast)

sub head () {
print $cgi->header(-charset=>\'windows-1251\', pragma=>\'no-cache\'),
\'\';
    }

всегда печатает: empty login or password
« Последнее редактирование: 03 Августа 2005, 18:01:34 от AnnA »
пока-пока. :)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
fastcgi -> GetOverlappedResult()
« Ответ #20 : 03 Августа 2005, 18:30:22 »
perldoc CGI::Fast в разделе
WRITING FASTCGI PERL SCRIPTS
The documentations is your friend

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
fastcgi -> GetOverlappedResult()
« Ответ #21 : 04 Августа 2005, 13:25:08 »
NeoNox ага. Не работала у меня такая конструкция (вот убила некоторое кол-во времени на проверку практикой) потому, что я писала как оо. т.е. конструкция вида
use CGI;
use CGI::Fast;
..........
$cgi = new CGI;
почему-то не видит в теле while (new CGI::Fast)
$login = $cgi->param(\'user\');
причем именно парам. остальные методы вызываются (например тот же print $cgi->header()), но достучаться до параметров из формы мне так и не удалось.
зато конструкция:
use CGI::Fast qw(:standard);
замечательно выдает $login = param(\'user\');
в общем-то - это не очень хорошо, на мой взгляд. ну, что необходимо отказаться от использования оо кода. ну да ладно. "слишком хорошо - тоже нехорошо". наверное.
вот теперь пришло время второго вопроса... :)
получается, что, коль уж я стартую скрипт из конфига Апача - мне вовсе необязательно в этом скрипте использовать в теле этого скрипта нечто вроде: while (new CGI::Fast) {
        &process_request;
    }
м? он ведь и так работает у меня как fastcgi-процесс при старте веб-сервера. нет? или я что-то непонимаю?
пока-пока. :)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
fastcgi -> GetOverlappedResult()
« Ответ #22 : 04 Августа 2005, 14:52:44 »
Нужно(обязательно!) запускать в цикле.
При старте сервера порождаются процессы(можно задать их количество) и при запросе он отдается одному из потомков. Вот и вся примудрость.
Это в доке тоже описано (;

Насчет оо.

var ($query);

while ($query = new CGI::Fast)
{
main();
}

sub main
{
print $query->param("user")
}
The documentations is your friend

Оффлайн AnnA

  • Фанатка форума
  • Старожил
  • ****
  • Сообщений: 263
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
fastcgi -> GetOverlappedResult()
« Ответ #23 : 04 Августа 2005, 15:56:07 »
NeoNox
:appl:  :chmok:
(+ не удалось поставить. обидно.)
большое человеческое спасибо.
всё работает и довольно быстро.
пока-пока. :)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
fastcgi -> GetOverlappedResult()
« Ответ #24 : 04 Августа 2005, 16:12:30 »
На здоровье (;
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28