Due to a really lame hack in PHP (when used as a FastCGI provider) to detect whether the HTTP front-end is Apache, PHP behaved really, really badly when used with non-Apache servers if the HTTP server provided both REQUEST_URI and SCRIPT_FILENAME. The end result was that PHP would throw "No input file specified" errors inappropriately.
[Note: I no longer work for Sun. I am slowly migrating the more worthwhile blog entries I made for Sun to my own blog. I need the Google love.]
Originally posted on Oct 2, 2007:
A question was asked on our forums about how to use PHP and FastCGI in a hosted environment. The goal was to give each user their own PHP process in order to protect each user from potential security and performance problems associated with sharing a PHP engine with several virtual servers. I started thinking about this and took a whack at a quick solution using Web Server 7.0's environment variables to use the same PHP binary with a separate engine bound to each virtual server (keying off of the Host name of the domain). I also extended this to allow each VS to have its own php.ini file:
In 2003 I wrote a long HowTo about how to use PHP with Netscape Enterprise Server 6.1, a fork of the then Sun ONE Web Server 6.0. In Dec 2006 and Jan 2007 I worked with Sun tech writer Marina Sum to update the HowTo as a document for use on Sun's Developer Network (SDN) site.
Since I now longer work for Sun and have no ability to update the article, I'm relocating the content to here. If needed I'll update this content over time. I hope that Sun does not mind the content moving.