Ben Allfree :: Painless Programming

Guaranteed results for Ruby on Rails, PHP, Facebook, mySpace, and more

Great Tech Support

November 20th, 2007 · No Comments

Today, proved to be a great chance to prove why great support matters. A production server ceased functioning after a recent upgrade, and in this case, time was money.

The server runs the web application platform that many developers choose: IIS and PHP. For "no reason at all" (that's how everything really bad starts), IIS began returning the notorious PHP CGI error: "The specified CGI application misbehaved by not returning a complete set of HTTP headers."

It spells doom for production sites because the site stops working.

Having seen this bug before and knowing its cunning, I headed back once again to search message boards yet again for new clues. Perhaps someone had miraculously solved this problem since last month when I checked the same message boards. Documented as PHP Bug 9852 and Bug 25863, many users put the following hypotheses:

  • IIS has a multithreading bug and calls PHP too fast on modern servers, but Microsoft will release a hotfix for it.

  • It has to do with image files

  • Virus scanners cause the problem

  • etc...

The theme here seems to be that anything and nothing causes this bug, and that's why it is notorious.

My version of the problem was caused by bad security permissions on recently replaced log files, but I will say there is definitely something more to this behavior and it is related only to IIS. Site administrators running Apache have never reported the problem. Microsoft does list an IIS bug that sounds very similar to the symptoms of this bug, but I do consider it a PHP inquiry because Microsoft is unlikely to give this problem direct attention.

I have seen applications as simple as this fail:

<?='Hello, world!"?>

After adjusting security permissions, things started working again as if the last 30 minutes had never happened. Losing 30 minutes of business can be avoided through redundancy, but this particular client was too early in the business plan to justify the costs of six sigma uptime. When you can't have the infrastructure for total reliability, it's nice to have total support.

Tags: , ,

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment