|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Submitted: 2002-09-29 06:54 UTC Modified: 2002-11-26 19:58 UTC
Avg. Score:3.3 ± 1.2
Reproduced:23 of 31 (74.2%)
Same Version:11 (47.8%)
Same OS:11 (47.8%)
From: elk at model-fx dot com Assigned:
Status: No Feedback Package: Other web server
PHP Version: 4.2.3 OS: Linux 2.4.19
Private report: No CVE-ID:
Have you experienced this issue?
Rate the importance of this bug to you:

 [2002-09-29 06:54 UTC] elk at model-fx dot com
When running PHP under FastCGI (with Suexec wrapper enabled), the variables _SERVER["SCRIPT_NAME"] and _SERVER["SCRIPT_FILENAME"] are returning the path and filename of the PHP-FCGI binary instead of the path and filename of the current executing script, that is, the values of _ENV["SCRIPT_NAME"] and _ENV["SCRIPT_FILENAME"] respectively. This breaks a lot of scripts relying on just $SCRIPT_NAME and $SCRIPT_FILENAME;

ie, when setting up this in httpd.conf :

ScriptAlias /fcgi-bin/ /usr/local/apache/bin/
<Location /fcgi-bin/>
  SetHandler fastcgi-script
AddType application/x-httpd-php .php .php3 .php4
Action application/x-httpd-php /fcgi-bin/php.fcgi

When called from a script,
$SCRIPT_NAME becomes : /fcgi-bin/php.fcgi
$SCRIPT_FILENAME becomes : /usr/local/apache/bin/php.fcgi

Versions :
PHP 4.2.3 compiled with --with-fastcgi
mod_fastcgi 2.2.12
Apache 1.3.26

I modified sapi/fastcgi.c to register the correct _SERVER vars, and it works OK. At line 164, add :

        php_register_variable("SCRIPT_NAME", (SG(request_info).request_uri ? SG(request_info).request_uri:""), track_vars_array TSRM
        php_register_variable("SCRIPT_FILENAME", (SG(request_info).path_translated ? SG(request_info).path_translated:""), track_var
s_array TSRMLS_CC);



Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2002-09-29 07:22 UTC] elk at model-fx dot com
I don't think this hack still works for PHP < 4.2 because there is no _SERVER vars... aie...
 [2002-10-28 10:46 UTC]
Please try using this CVS snapshot:
For Windows:

 [2002-10-28 18:51 UTC] elk at model-fx dot com
It doesn't work :

Fatal error: input in flex scanner failed in - on line 1

Sorry... am I missing something ?

 [2002-11-13 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over 2 weeks, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2002-11-13 12:30 UTC]
Please try using this CVS snapshot:
For Windows:

And check what flex version you have installed.
The latest CVS should warn if you have too old version.

 [2002-11-26 19:58 UTC]
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.

 [2007-05-30 01:22 UTC] kingsizewhopper at hotmail dot com
Still experiencing this bug in php 5.2.2!
Can't this one be solved?

(centos 4.4 | apache 2.0.59 + suexec | php 5.2.2 as fastcgi)
 [2009-11-29 03:19 UTC] reyesalejandre at gmail dot com
solicito  la  autorizacion  para la  aplicacion  e  mi  cuentas de correo  para  poder  completar  la  difusion   de  las  practicas de comercio.

 Asi como  su  apoyo  tecnico para  su  alicacion  en  mi  sitio.
 [2009-12-07 06:33 UTC] matt dot adams at cypressinteractive dot com
Confirmed that this is still a problem using FastCGI+Apache+PHP 5.2.11.

A patch to cgi_main.c as suggested in the original comment fixes this problem.

It would be great to see this problem fixed in later versions.
PHP Copyright © 2001-2015 The PHP Group
All rights reserved.
Last updated: Thu Oct 08 21:01:31 2015 UTC