Hello everyone,
Over the past few months I've slowly worked on implementing ISAPI and NSAPI
modules for FastCGI.  I've got everything done and working now in probably
what I would call a late alpha or early beta release, though I haven't
versioned it at this time.

I wrote these modules to provide a super stable way to run PHP on Windows,
without having to resort to CGI.  For those who don't know much about
FastCGI...using the FastCGI module for PHP, there are no threading issues
since any one executable will only handle one request at a time, but you
gain the performance increase of having persistent executables in memory.
This allows for persistent database connections, etc.  Since PHP is also run
out-of-process, there is no way PHP can crash a web server (unless there is
a bug in my modules :).   In my own tests using MS Web Stress Application, I
got performance improvements ranging from 4x to 8x the speed of CGI.   The
downside to FastCGI is that it will require more memory than a multithreaded
sapi module.

Ultimately, I don't think FastCGI can achieve the same performance as and
built in web server module (ISAPI, etc.), but it is a good alternative,
especially if you use modules that crash PHP under ISAPI, and is much more
suited to production systems than CGI.

While this should be perfectly usable with something other than PHP, I have
not tested anything but PHP with it.

You will need phpfcgi.exe also, which I am not sure if that is distributed
in the binary distributions on php.net.  If not, I'll make one available
this weekend (if someone doesn't beat me to it).

I'll probably be combining this source code with the fastcgi libraries at
fastcgi.com in the next month or so.  There is still work to be done on this
implementation, some stuff is not yet supported (such as authentication),
and the process manager is a bit kludgy but works.   A port to unix will
hopefully happen eventualy.  I also implemented a small version of the SAPI
layer so that server modules can be added easily.

You can download at:
binaries: www.caraveo.com/fastcgi/fastcgi.zip
source: www.caraveo.com/fastcgi/fastcgi.src.zip

Regards,
Shane Caraveo




-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to