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

Reply via email to