From:             lukem at NetBSD dot org
Operating system: NetBSD 2.0C
PHP version:      4.3.6
PHP Bug Type:     CGI related
Bug description:  PHP CGI depends upon non-standard SCRIPT_FILENAME

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 bug report at http://bugs.php.net/?id=28227&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=28227&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=28227&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=28227&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=28227&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=28227&r=needtrace
Need Reproduce Script:      http://bugs.php.net/fix.php?id=28227&r=needscript
Try newer version:          http://bugs.php.net/fix.php?id=28227&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=28227&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=28227&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=28227&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=28227&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=28227&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=28227&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=28227&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=28227&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=28227&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=28227&r=float

Reply via email to