IIS 5 & IIS 6
Last post Aug 20, 2008 04:11 PM by JanReilink
May 07, 2007 06:15 PM|WimVM|LINK
I already posted earlier today in the “general” section, but the replies there didn’t make me much wiser. They also redirected me to this sub-forum.
I want to offer a hosting package that is capable of using ASP, ASP.NET 1.x, ASP.NET 2.x and PHP 4.x & 5.x. When checking with customers what other functionality they needed they came up with
the remark that they also need CGI to be supported. This to support their CGI application used on Linux. I am not familiar with CGI, but due to the fact that customers asked for it, I was willing to investigate.
It is first of all open to much interpretation what customers actually mean with “I need CGI to be supported”. Quickly I found that they probably mean CGI using Perl and Python, since I already
offered PHP. I came to this conclusion by reviewing the offerings from other hosting companies.
Is it possible to run CGI Perl applications using FastCGI? And what is basically the difference when customers migrated from a Linux based version of CGI Perl. Same for Python. Where can I get
information to install and configure (security and performance!!) these components?
May 08, 2007 03:27 AM|WimVM|LINK
Ok. I did some additional reading on several websites and this forum. I appeared to be that the answer to my question that it is possible to run Perl or Python using FastCGI is yes. The information on how to configure it on IIS stays still open. I can not
find ANY usefull detail on this.
In addition to that, one of the questions that I ask myself is that it would be a good idea to implement it in a production environment already. The fact is that it is still a technical preview, even with release 2 and the unofficial fix it is still likely
to cause problems.
But maybe it is still beter to implement it this new (not yet supported) way then the old way (ActivePerl). Probably some experts can answer this. And is the release of the beta planned in the near future (less then a month), or not?
Our new hosting platform should be ready within the next month. I want to avoid using older technology because the change that we re-install or upgrade our platform after a recent install is very low. The project can not be delayed much longer.
- installation guide for Perl/Python on IIS6 using FastCGI
- is it currently better to implement the Perl/Python/PHP the old way or is it stable enough to use FastCGI already.
- what is the planning for official releases on FastCGI, IIS7.
May 08, 2007 12:56 PM|rickjames|LINK
Perl works with our FastCGI implementation (instructions on
www.fastcgi.com). I don't know enough about Perl to make an accurate assessment over which is better: ActiveState or FastCGI. Which means to decide I'd try both and see which gives me the least troubles..
Python currently does not work with our FastCGI implementation. The Windows version of Python is missing an API called socket.fromfd which is needed for Python to caste the STDIN handle into a TCP socket. At some point we'll probably stumble into someone
from the Python community who would like to fix this (please let me know if you know someone :-))
PHP works great with our FastCGI implementation. I strongly recommend FastCGI over CGI and ISAPI for performance and reliability. That being said, our FastCGI implementation is currently in technical preview stage and so is officially unreliable (though
every PHP-FastCGI bug reported so far has been fixed..)
There is no official release plan for our FastCGI on IIS 6. On IIS 7, our FastCGI implementation is officially part of Windows. You can get it in Longhorn Server Beta 3. So, on IIS 7, we're tightly tied to the Windows server ship schedule.
May 08, 2007 01:25 PM|WimVM|LINK
Thank you for your answer. When you state that there is no official release plan for IIS6, it is supported for IIS6, right?
I am not feeling very comfortable with the implementation suggested by ActiveState on Perl. I don't know exactly why, but for some reason information on this subject is poor and the sources are
not always that good to trust the stability and security of a live hosting platform on it. Therefore I would feel more for FastCGI with PHP and Perl implementation with the unofficial fix. As told before, we are planning to install VERY soon. Waiting for official
release of IIS7 is probably no option. But the IIS 7 go live is tempting:
Would you suggest it (I know officially it is not, but pure on stability and functionally...)
Problem that nobody really can give me an installation reference for FastCGI with Perl on IIS 6 is open. I cannot believe that nobody is using it the same why as would I do it. And I really don't
have the time to play around myself, deadlines...
May 08, 2007 02:08 PM|rickjames|LINK
IIS 6 will be officially supported (hence the IIS 6 tech preview :-)).
I'm an IIS developer, so I'd definitely suggest the IIS 7 go live. As an IIS 7 developer I may be a little biased :-)
For getting Perl working as a FastCGI: I just followed the instructions on
May 08, 2007 02:25 PM|WimVM|LINK
May 08, 2007 03:35 PM|rickjames|LINK
I think there's a readme file in one of the CPAN modules here:
May 10, 2007 02:03 AM|WimVM|LINK
I opened all readme files and they state something like "Install Perl using common way", not very funny... I found on on another website, but that is not updated since 2002. And not directly the same.
So, question is still open. If somebody could write a manual on how to configure Perl with FastCGI like they did for Ruby:
I already requested the writer of the above document but no answer until now. It is very frustrating that no information can be found on a common subject like offering Perl on a IIS6 using FastCGI.
May 10, 2007 05:12 AM|SoHoAlex|LINK
I'm sorry to intervene, but how is this a common subject?
Microsoft's FastCGI is still in technical preview. If I were you, I'd first try to install perl the common way, and then try to update to FastCGI. I don't think you're looking for information on how to install perl with FastCGI, I think you're looking for
a guide on how to install perl on IIS6, which are quite easy to find.
On a side note: We don't encounter the problems with ActivePerl as we do with PHP in community FastCGI or CGI/ISAPI. So why exactly do you want to use the new FastCGI module for perl? What's wrong with the common way?
Have you even tried?
May 10, 2007 05:18 AM|WimVM|LINK
May 10, 2007 05:41 AM|SoHoAlex|LINK
May 10, 2007 05:42 AM|SoHoAlex|LINK
May 10, 2007 05:48 AM|WimVM|LINK
I have no problem. I want to know how I can switch from the current ActivePerl way to the new (FastCGI). PHP is no issue, but what to do to get Perl working with it.
The reason I want to use it is to speed up Perl scripts and hope it will take less resources on our systems.
But, I seems that nobody is using it (yet). This gives me the feeling to stay with the current way and wait and see.
It suprised me that they come-up with a step-by-step for Ruby and the more common language like Perl is skipped (for the moment?). I found this weard.
May 10, 2007 06:12 AM|SoHoAlex|LINK
I think using perlis.dll for perl is quite fine. If PHP's ISAPI module wasn't so darn buggy I would'nt even have looked for the new FastCGI module.
I just tried to use FastCGI on perl but it doesn't seem to work. I however dont see the point in using FastCGI for this, as the isapi module for perl is just fine. No complaints on performance or stability here..
Oct 09, 2007 10:52 AM|andrew.sears|LINK
With PHP, you get a big speed bump, because ISAPI PHP sucked.
With Rails, you get the first prospect of native support in IIS. Every Rails deployment I've done has used Apache or IIS proxying to Lighty w/FastCGI or Mongrel. This works, but it would be fantastic if Rails could function in a more conventional environment.
With Perl, there isn't a big draw. The basic speed advantage of FastCGI is the same as ISAPI: they both keep the script interpreter loaded into memory. One is not necessarily faster than they other, and IIS FCGI Perl has not built up enough community testing
or documentation to be a logical choice for a production environment.
Oct 12, 2007 08:14 AM|Diederichh|LINK
is there any guide to configure FCGI/Perl,I dont get it...
Oct 19, 2007 08:25 AM|CosmicNetworks|LINK
I've now written a guide for you people. You can see it in my post at:-
Aug 06, 2008 01:20 PM|ruslany|LINK
Has anyone succeeded with setting up Perl on IIS with FastCGI by following this guide? I have followed this guide but keep getting this error message when I make a request to any perl script:
Error! Can't locate object method "FILENO" via package "FCGI::Stream" at C:/Perl/lib/CGI.pm line 794. Compilation failed in require at C:/Perl/lib/CGI/Fast.pm line 18. BEGIN failed--compilation aborted at C:/Perl/lib/CGI/Fast.pm line 18. Compilation failed
in require at (eval 3) line 3. BEGIN failed--compilation aborted at (eval 3) line 3.
fastCGI perl CGI
Aug 07, 2008 01:05 PM|CosmicNetworks|LINK
I've been stuck on a huge software project that has taken up all my time for the last 6 months. Soon I'll have chance to get back onto writing guides for Perl scripts using FastCGI on IIS.
The wrapper module I made currently only works for simple scripts.
Perl scripts can use FastCGI on IIS like they would on Apache but need to be coded specifically to do so.
Until my wrapper module (or someone elses) is more complete there will be no direct drop in for Perl IIS FastCGI like there is for PHP. PHP has been specifically designed to work in FastCGI without any changes from normal CGI.
However this does mean that Perl scripts specifically coded to utilize the FastCGI system will be more efficient IMO.
Aug 20, 2008 04:11 PM|JanReilink|LINK
My apologies for replying to a very old thread, but I haven't found a similar (newer) thread, perhaps only http://forums.iis.net/t/1146580.aspx for IIS 7.
If possible, we'd like to run perl.exe (ActiveState) through the FastCGI ISAPI. We are experiencing major problems with HTTP Content-type headers being sent twice when using the ActiveState Perl ISAPI (perlis.dll, both 5.8 and 5.10) and after a very thorough
bug report, in January 2007, ActiveState still hasn't fixed the issue, if it's theirs to fix.
In our setup, we run application pools under the IUSR identity, which means perl.exe may not be started by the IUSR. But we have to map the .pl extension to perl.exe for Perl scripts like AWStats. Unfortunately http://www.cosmicscripts.com/servers/fastcgi_perl.html
is only helpful if (when) you code your Perl scripts accordingly (using the FCGI module).
Does anyone have an idea?