Help!

I have upgraded our internal CMS to PHP 5. We tested the changes we had to make for PHP5 compatibility thoroughly on a development machine. Then we put the PHP5 version of the CMS onto our remote production web server, and tested it again. No problems.

This week we went live.

Almost immediately, customers began complaining that their site was either coming up blank or showing a HTTP 500 Internal Server Error.

However, from our offices we just couldn't get any of the sites to crash.

Eventually, we managed to replicate the error by using RDC to browse from a remote machine.

Here's what we've noticed:

  1. Maybe 19 out of 20 times you get the HTTP 500 Internal Server Error when entering the address of the CMS.

  2. Once you get the CMS to load, if you navigate between the pages, they load fine every time.

  3. From our company office, the CMS loads every time, regardless of whether you're entering the URL or following a link.

  4. It makes no difference which browser is used.

We are running PHP 5.2.6 on IIS 6 and Windows 2003 Server. The database backend is MSSQL Server. We use ISAPI Rewrite for pretty URLs.

What on earth is going on? There is nothing in the Windows event logs. I turned on PHP error logging but the file remains empty.

Can anyone shed any light on this?

Thanks in advance

Fergus

    Usually 500 errors are more likely to be something in the web server configuration. However, I know next to nothing about IIS. 🙁 The only time I've run into a 500 error was on a LAMP system, where it resulted from an error in a .htaccess file. This makes me wonder if it could somehow be something to do with the URL rewriting?

    Sorry I can't be of more help. Hopefully someone more IIS-savvy will come along and at least suggest ways to narrow down where the error is occurring.

      10 days later

      Rather than looking at PHP error logging, you need to look at IIS error logging. If IIS is returning a 500 error, then the PHP interpreter probably never even saw the code, let alone compiled and caused errors.

      Perhaps there is some instability somewhere between your exact IIS setup and the way PHP5 (or at least the version you're running) interacts with it. It's pretty hard to say exactly where you should look, because a 500 error doesn't point to one specific problem; it could be a resource limitation, error in the ISAPI rewriting, and probably several others.

      Unless the IIS error log gives you any information, I'm not sure where to even start. 🙁

        Write a Reply...