У нас есть существующее приложение Perl, которое поддерживает mod_perl
. Однако наш новый хост (Dreamhost) не поддерживает mod_perl, а только FastCGI; что требует порта.Как я могу перенести код Perl из mod_perl в FastCGI?
Существующий код не использует какие-либо атрибуты Apache и является нормальным Perl-кодом, написанным таким образом, что это приемлемо для mod_perl
.
Чтение документации и онлайн-руководств, похоже, что добавление поддержки FastCGI включает в себя перенос существующего кода внутри определенного типа цикла. Ниже приведены наиболее часто данный код скелет:
A. Использование FCGI
use FCGI;
while (FCGI::accept >= 0)
{
#Run existing code.
}
B. Использование CGI :: Fast
use CGI::Fast
while (my $cgi = CGI::Fast->new())
{
#Run existing code.
}
подвопросы:
- Есть методы A и B эквивалентные способы добавления поддержки FastCGI?
- Если A и B различны, что же за плюсы и минусы использования одного над другим?
- Есть ли какие-либо лучшие практики или gotchas, о которых следует знать при переносе с
mod_perl
на FastCGI?
Спасибо.