PHP with FastCGI on IIS6 behaves differently than ISAPI-Collection of common programming errors

I am working with Moodle 1.9 running on Windows Server 2003, IIS 6. I am trying to switch from PHP’s ISAPI extension to FastCGI, hoping for a speed improvement.

I installed FastCGI for IIS 6 just fine, and configured it for PHP. It works, and in fact most of Moodle works great. The only thing that doesn’t, is the home page. When running as FastCGI, I get this error:

PHP Notice: Undefined index: description in C:\Inetpub\wwwroot\moodle\lib\magpie\rss_parse.inc on line 402

So I thought, “Hmmm, that’s odd, I shouldn’t have that kind of problem”, so I switched back to ISAPI, expecting the problem to still exist. The problem went away and the home page loaded just fine! So, I switched to FastCGI again, and the problem returned.

I dug into the code there, and sure enough, the Magpie devs aren’t checking one of their array indices before using it. That however isn’t the issue here, as the exact same code runs no matter which way I am accessing PHP.

What I think is happening, is that errors are being handled differently between the FastCGI and ISAPI versions of PHP. With ISAPI, simple notices like the one above are ignored, and with FastCGI, they seem to be output and execution is halted.

So, is there a place to define this error handling behavior? Or, anything else that may explain what I am seeing?

Thank you for your time.

  1. Solved it! I found the fastcgi.logging setting in my PHP.ini and put it at 0.

    ; Disable logging through FastCGI connection
    fastcgi.logging = 0