http://www.perlmonks.org?node_id=645936


in reply to FastCGi on IIS... The tale of Microsoft and my new Perl Module...

Erm.

  • Comment on Re: FastCGi on IIS... The tale of Microsoft and my new Perl Module...

Replies are listed 'Best First'.
Re^2: FastCGi on IIS... The tale of Microsoft and my new Perl Module...
by perrin (Chancellor) on Oct 19, 2007 at 14:02 UTC
    Things may have changed, but I know that a few years back when I needed to run some perl stuff on an existing IIS server and went looking for a FastCGI plugin, there was nothing available. I asked around and found only a few incomplete personal projects. So, given that PerlEx is no longer available, I think this is a big deal for people stuck on IIS.
      Why another fastcgi module? FCGI is working perfectly on windows (with the new fastcgi implementation for iis 5 and 6). You can't just pick a random cgi script and expect it to work with fastcgi - it's not possible. Apache::Registry was designed to do this, it has been improved for years and it still has some special cases.

      BTW, PerlEx is available and comes bundled with the ActivePerl disto. PerlEx is now free as ActivePerl.

      BTW2, if you are going to use fastcgi on windows make sure to compile your own perl with ITHREADS disabled. They are useless with fastcgi and you will gain about 20% boost in performance. ActivePerl has ITHREADS enabled.
        I think PerlEx is no longer maintained.
Re^2: FastCGi on IIS... The tale of Microsoft and my new Perl Module...
by cosmicperl (Chaplain) on Oct 19, 2007 at 13:22 UTC
    This module is designed to be a drop in replacement for using CGI, you are getting some benefits of FastCGI, reusing processes rather than making new ones, and the perl interpreter is already loaded.

    Any Perl CGI script should be able to use this module, without any specific FastCGI coding or adjustments. Of course scripts coded in FastCGI will work as normal without this module.

    Lyle
      Any Perl CGI script should be able to use this module, without any specific FastCGI coding or adjustments.

      I can tell you right away that it won't work perfectly. What you're doing is mostly the same as what Apache::Registry does. If someone defines a global, it will still be there the next time the script is run. If they load a module, it will still be there, and it will not reload even if they change the module. There's a lot of mod_perl documentation discussing these issues and how to cope with them.

        I'm working on cleanup routines now and trying to contain what each script loads. Any help is much appreciated :)

        Update:- namespace::clean does a lot of what's needed...