Как я могу использовать модуль Apache2 в режиме CGI? - PullRequest
1 голос
/ 18 августа 2011
my $r = shift || Apache2::RequestUtil->request;
my $request = Apache2::Request->new($r, @_);

Я знаю, что он был разработан для использования с mod_perl,

, но есть ли обходной путь, чтобы его можно было использовать и в режиме CGI?

1 Ответ

1 голос
/ 19 августа 2011

Вы пытались заменить эти две строки ...

my $request = CGI->new();

Модуль Apache2 :: Request оборачивает API mod_perl, чтобы "имитировать подпрограммы CGI.pm для анализа параметров запроса" . Поэтому любой код, использующий необработанный $ r, работать не будет, но код, использующий $ request, может.

Но в ответ на ваш более крупный вопрос ответ - нет, нет простого способа запустить код, написанный для mod_perl, вместо CGI. При написании нового кода вы должны либо использовать платформу, либо написать в API PSGI, который затем можно развернуть с использованием CGI, FastCGI или mod_perl без изменения кода.

...