#28227 [Opn->Asn]: PHP CGI depends upon non-standard SCRIPT_FILENAME
| From: | wez@php.net | Date: | Mon, 03 May 2004 09:59:42 +0000 |
| Subject: | #28227 [Opn->Asn]: PHP CGI depends upon non-standard SCRIPT_FILENAME | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-59155@lists.php.net to get a copy of this message | ||
ID: 28227
Updated by: wez@php.net
Reported By: lukem at NetBSD dot org
-Status: Open
+Status: Assigned
Bug Type: CGI related
Operating System: NetBSD 2.0C
PHP Version: 4.3.6
-Assigned To:
+Assigned To: shane
New Comment:
Shane, can you please take a look when you have a moment?
Previous Comments:
------------------------------------------------------------------------
[2004-05-03 04:25:48] lukem at NetBSD dot org
Here's the patch:
http://cvsweb.netbsd.org/bsdweb.cgi/~checkout~/pkgsrc/www/php4/patches/patch-aa?rev=1.10&content-type=text/plain
------------------------------------------------------------------------
[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