ID: 28227 User updated by: lukem at NetBSD dot org Reported By: lukem at NetBSD dot org Status: Open Bug Type: CGI related Operating System: NetBSD 2.0C PHP Version: 4.3.6 New Comment:
Here's the patch: http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/pkgsrc/www/php4/patches/patch-aa?rev=1.10&content-type=text/plain Previous Comments: ------------------------------------------------------------------------ [2004-04-30 02:11:47] lukem at NetBSD dot org Description: ------------ I upgraded PHP from 4.2.3 to 4.3.6 and I started getting the error "No input file specified." from the php-as-cgi whilst running under a (fairly minimal and small) web server called bozohttpd. Further investigation reveals that sapi/cgi/cgi_main.c::init_request_info() is using the existance of SCRIPT_FILENAME to determine if php is running as a CGI. However, the "defacto standard" for CGI/1.1: http://cgi-spec.golux.com/ makes no mention of SCRIPT_FILENAME, only SCRIPT_NAME. Thus, when a web server that is used to run php as a CGI doesn't support SCRIPT_FILENAME (which is reasonable - see the specs above), php refuses to function and fails with the error above. Some research into other web servers indicates that none of them support SCRIPT_FILENAME. These servers include: thttpd, mini_httpd, w3c-httpd, OmniHTTPd - (PHP PR 25833), Xitami (PHP PR 25305) This issue is also alluded to in the "command line" documentation on your web site: http://www.php.net/features.commandline (search for "no input file"). In summary, PHP 4.3.6 should not be relying solely upon SCRIPT_FILENAME to determine if it's running as a CGI. I have a patch to fix this issue - rev 1.10 of NetBSD's pkgsrc/www/php4/patches/patch-aa - which I can provide if necessary. Cheers, Luke Mewburn. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28227&edit=1
