I am evaluating lighttpd-1.4.8 as a replacement for apache2. I am using PHP 5.1.1 on Mac OS X 10.4.3.
A show-stopping bug I've discovered is that in many $_SERVER variables, the paths are converted to lowercase. My projects require the user-supplied case to be preserved. Projects in the wild that I can think of that also care about the case of URLs would include MediaWiki?.
For example, if I have a script Server.php with this contents:
<pre><?php print_r($_SERVER); ?></pre>
and I try to access it this way:
http://fusion.local/rcs/test/Server.php/HelloWorld
then the relevant portions of the output are as follows:
[SCRIPT_NAME] => /rcs/test/server.php
[PATH_INFO] => /helloworld
[PATH_TRANSLATED] => /web/fusion/htdocs/helloworld
[SCRIPT_FILENAME] => /web/fusion/htdocs/rcs/test/server.php
[REQUEST_URI] => /rcs/test/Server.php/HelloWorld
[ORIG_PATH_TRANSLATED] => /web/fusion/htdocs//helloworld
[ORIG_PATH_INFO] => /helloworld
[ORIG_SCRIPT_NAME] => /rcs/test/Server.php
[ORIG_SCRIPT_FILENAME] => /web/fusion/htdocs/rcs/test/server.php/helloworld
[PHP_SELF] => /rcs/test/server.php
SCRIPT_NAME, PATH_INFO, PATH_TRANSLATED, SCRIPT_FILENAME, ORIG_PATH_TRANSLATED, ORIG_PATH_INFO, ORIG_SCRIPT_FILENAME and PHP_SELF have all been improperly converted to lowercase.