Bug #65641 [Opn->Asn]: PHP-FPM incorrectly defines the SCRIPT_NAME variable when using Apache
| From: | felipe@php.net | Date: | Tue, 17 Sep 2013 21:50:56 +0000 |
| Subject: | Bug #65641 [Opn->Asn]: PHP-FPM incorrectly defines the SCRIPT_NAME variable when using Apache | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-181636@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=65641&edit=1
ID: 65641
Updated by: felipe@php.net
Reported by: ryotakatsuki at gmail dot com
Summary: PHP-FPM incorrectly defines the SCRIPT_NAME variable
when using Apache
-Status: Open
+Status: Assigned
Type: Bug
Package: FPM related
PHP Version: 5.5.3
-Assigned To:
+Assigned To: fat
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2013-09-09 09:12:30] ryotakatsuki at gmail dot com
Description:
------------
When using Apache + PHP_FPM, the SCRIPT_NAME variable is incorrectly set. For
example, accessing "http://127.0.0.1/sample/test.php/a/b/c",
results in:
ORIG_SCRIPT_NAME:
SCRIPT_NAME: /sample/test.php/a/b/c
ORIG_SCRIPT_FILENAME: //tmp/sample/test.php/a/b/c
SCRIPT_FILENAME: //tmp/sample/test.php
PATH_INFO: /a/b/c
ORIG_PATH_INFO:
While when using mod_php, the values are:
SCRIPT_NAME: /sample/test.php
SCRIPT_FILENAME: /tmp/sample/test.php
PATH_INFO: /a/b/c
It is also working fine when using NGINX
Test script:
---------------
A sameple script to reproduce the issue:
<?php
echo("ORIG_SCRIPT_NAME: " . $_SERVER['ORIG_SCRIPT_NAME']);
echo('<br/>');
echo("SCRIPT_NAME: " . $_SERVER['SCRIPT_NAME']);
echo('<br/>');
echo("ORIG_SCRIPT_FILENAME: " . $_SERVER['ORIG_SCRIPT_FILENAME']);
echo('<br/>');
echo("SCRIPT_FILENAME: " . $_SERVER['SCRIPT_FILENAME']);
echo('<br/>');
echo("PATH_INFO: " . $_SERVER['PATH_INFO']);
echo('<br/>');
echo("ORIG_PATH_INFO: " . $_SERVER['ORIG_PATH_INFO']);
echo('<br/>');
?>
And a very simple apache conf:
Alias /sample /tmp/sample
ProxyPassMatch .*/sample/(test.php.*) fcgi://127.0.0.1:9000//tmp/sample/$1
<Directory /tmp/sample/ >
Require all granted
</Directory>
Expected result:
----------------
ORIG_SCRIPT_NAME:
SCRIPT_NAME: /sample/test.php
ORIG_SCRIPT_FILENAME: //tmp/sample/test.php/a/b/c
SCRIPT_FILENAME: //tmp/sample/test.php
PATH_INFO: /a/b/c
ORIG_PATH_INFO:
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=65641&edit=1